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:
table1: table2: +-------------------------+ +--------------------------------+ | Name | Name --------------------------- +--------------------------------- | A | | C | | B | | D | | C | | E |
I za pomocą polecenia sql
mysql> SELECT name FROM (SELECT name FROM table1 -> UNION SELECT name FROM table2) A;
Udało mi się poprawnie połączyć te dwie tablice jako jedna:
+------+ | name | +------+ | A | | B | | C | | D | | E | +------+ 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:
+----+-----------------------------+--------+-------+-----------------+--------------------------+ | id | zdjecie | userid | ocena | opis | DATA | +----+-----------------------------+--------+-------+-----------------+--------------------------+ | 74 | obrazki/goldenbridge.jpg | 1 | 0 | Golden Bridge | 2013-11-20 15:26:57 | +----+--------------------------+--------+-------+---------------+-------------------------------+ | 75 | obrazki/gladiator.jpg | 1 | 0 | Gladiator | 2013-11-20 15:29:57 | +----+-----------------------------+--------+-------+------------------+--------------------------+
Strona główna:
+----+-------------------------------+--------+-------+-----------------+-------------------------------+ | id | zdjecie | userid | ocena | opis | DATA | +----+-------------------------------+--------+-------+-----------------+--------------------------------+ | 11 | obrazki/kaczor_donald.jpg | 1 | 0 | kaczka | 2013-10-20 15:26:57 | +----+-------------------------------+--------+-------+------------------+-------------------------------+ | 12 | obrazki/ford.jpg | 1 | 0 | samochod | 2013-09-20 15:29:57 | +----+--------------------------------+--------+-------+-----------------+-------------------------------+ | 14 | obrazki/rower.jpg | 0 | 0 | rower | 2013-08-20 15:29:57 | +----+--------------------------------+--------+-------+-----------------+-------------------------------+
A chcę uzyskać taki wynik dla usera=1
+---+-------------------------------+--------+-------+------------------+---------------------------------+ | id | zdjecie | userid | ocena | opis | DATA | +----+------------------------------+--------+-------+------------------+--------------------------------+ | 74 | obrazki/goldenbridge.jpg | 1 | 0 | Golden Bridge | 2013-11-20 15:26:57 | +----+------------------------------+--------+-------+-------------------+-------------------------------+ | 75 | obrazki/gladiator.jpg | 1 | 0 | Gladiator | 2013-11-20 15:29:57 | +----+------------------------------+--------+-------+-------------------+-------------------------------+ | 11 | obrazki/kaczor_donald.jpg | 1 | 0 | kaczka | 2013-10-20 15:26:57 | +----+-------------------------------+--------+-------+------------------+-------------------------------+ | 12 | obrazki/ford.jpg | 1 | 0 | samochod | 2013-09-20 15:29:57 | +----+--------------------------------+--------+-------+-----------------+---------------------------------+
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.