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:
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.
Ten post edytował blendermen 20.11.2013, 19:15:01