Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Łączenie dwóch tabelek w jedną nie działa
blendermen
post
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 13.11.2013

Ostrzeżenie: (0%)
-----


Witam.
Mam problem z mysql`elem.
Mam dwie identyczne tabele i chcę za pomocą jednego zapytania sql wyświetlić łączony wynik z dwóch tabel. Udało mi się to zrobić ale tylko na testowych tablicach..a na właściwych nie działa i właśnie nie wiem dlaczego. No więc tak:
To są moje testowe tablice:

  1. table1: table2:
  2.  
  3. +-------------------------+ +--------------------------------+
  4. | Name | Name
  5. --------------------------- +---------------------------------
  6. | A | | C |
  7. | B | | D |
  8. | C | | E |

I za pomocą polecenia sql

  1. mysql> SELECT name FROM (SELECT name FROM table1
  2. -> UNION SELECT name FROM table2) A;

Udało mi się poprawnie połączyć te dwie tablice jako jedna:
  1. +------+
  2. | name |
  3. +------+
  4. | A |
  5. | B |
  6. | C |
  7. | D |
  8. | E |
  9. +------+
  10. 5 rows IN SET (0.00 sec)


Ale jak zastosuje ten sam kod sql na moich właściwych już tablicach - zdjecie i zdjecie_poczekalnia, które mają taką samą strukturę nie działa.
Robie na zaliczenie klona demotywatorow. Mam dwie tablice ze zdjeciami (zdjecie i zdjecia_poczekalnia) pierwsza tabela zawiera informacje o zdjeciach
na stronie głownej a druga tabela zawiera informacje o zdjeciach w poczekalni.
Chcę połaczyć obie tabelę żeby każdy użytkownik mogł zobaczyć wszystkie zdjecią ktore wrzucił na strone -i te, które dostały się na stronę główna i te w poczekalni

Poczekalnia:
  1. +----+-----------------------------+--------+-------+-----------------+--------------------------+
  2. | id | zdjecie | userid | ocena | opis | DATA |
  3. +----+-----------------------------+--------+-------+-----------------+--------------------------+
  4. | 74 | obrazki/goldenbridge.jpg | 1 | 0 | Golden Bridge | 2013-11-20 15:26:57 |
  5. +----+--------------------------+--------+-------+---------------+-------------------------------+
  6. | 75 | obrazki/gladiator.jpg | 1 | 0 | Gladiator | 2013-11-20 15:29:57 |
  7. +----+-----------------------------+--------+-------+------------------+--------------------------+


Strona główna:
  1. +----+-------------------------------+--------+-------+-----------------+-------------------------------+
  2. | id | zdjecie | userid | ocena | opis | DATA |
  3. +----+-------------------------------+--------+-------+-----------------+--------------------------------+
  4. | 11 | obrazki/kaczor_donald.jpg | 1 | 0 | kaczka | 2013-10-20 15:26:57 |
  5. +----+-------------------------------+--------+-------+------------------+-------------------------------+
  6. | 12 | obrazki/ford.jpg | 1 | 0 | samochod | 2013-09-20 15:29:57 |
  7. +----+--------------------------------+--------+-------+-----------------+-------------------------------+
  8. | 14 | obrazki/rower.jpg | 0 | 0 | rower | 2013-08-20 15:29:57 |
  9. +----+--------------------------------+--------+-------+-----------------+-------------------------------+



A chcę uzyskać taki wynik dla usera=1

  1. +---+-------------------------------+--------+-------+------------------+---------------------------------+
  2. | id | zdjecie | userid | ocena | opis | DATA |
  3. +----+------------------------------+--------+-------+------------------+--------------------------------+
  4. | 74 | obrazki/goldenbridge.jpg | 1 | 0 | Golden Bridge | 2013-11-20 15:26:57 |
  5. +----+------------------------------+--------+-------+-------------------+-------------------------------+
  6. | 75 | obrazki/gladiator.jpg | 1 | 0 | Gladiator | 2013-11-20 15:29:57 |
  7. +----+------------------------------+--------+-------+-------------------+-------------------------------+
  8. | 11 | obrazki/kaczor_donald.jpg | 1 | 0 | kaczka | 2013-10-20 15:26:57 |
  9. +----+-------------------------------+--------+-------+------------------+-------------------------------+
  10. | 12 | obrazki/ford.jpg | 1 | 0 | samochod | 2013-09-20 15:29:57 |
  11. +----+--------------------------------+--------+-------+-----------------+---------------------------------+


Tylko, że jak wpisze
mysql> SELECT zdjecie FROM (SELECT zdjecie FROM zdjecia UNION SELECT zdjecie FROM zdjecia_pocz) A;
to otrzymuje błąd:
ERROR 1271 (HY000): Illegal mix of collations for operation 'UNION'
Przeszukałem całe google i nie mogę znaleźć informacji na ten temat.
Przepraszam za te rozjechane - nieczytelne tabelki. W moim edytorze postu są równo i nie wiem jak je wyrównać
Pozdrawiam.

Ten post edytował blendermen 20.11.2013, 19:15:01
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
blendermen
post
Post #2





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 13.11.2013

Ostrzeżenie: (0%)
-----


Tak, ta strona jest na zaliczenie przedmiotu "Aplikacje internetowe". Będę musiał zrobić jeszcze jedną na licencjata i faktycznie będę musiał pomyśleć nad logicznym rozpracowaniem działania strony. Teraz jakbym Wam pokazał kod tego klona demotów to podejrzewam, że złapalibyście się za głowę. Masa kodu, na samych funkcjach, żadnego obiektowego.. miałem napisać podstawową stronę żeby działała i przepisać wszystko na obiektowy ale teraz sam już się gubię w tym kodzie (IMG:style_emoticons/default/wink.gif)
A niech będzie trója (IMG:style_emoticons/default/tongue.gif)
ale mam przynajmniej dużo frajdy z pisania mojego "pseudo-kodu" php serio jest wciągające (IMG:style_emoticons/default/smile.gif)

Ten post edytował blendermen 20.11.2013, 20:24:00
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 07:39