Przepraszam za minimalistyczny tytuł, ale nie wiem, jak to opisać w skrócie. Mam trzy tabele:SQL DOŁĄCZ wiele-do-wielu
tabeli grupy
ID | Genre
-----------------
1 | Action
2 | Adventure
3 | Drama
wiele do wielu tabeli
GroupID | ElementID
-----------------
3 | 1
1 | 2
2 | 2
2 | 3
3 | 3
a pierwiastków
ID | Element
-----------------
1 | Pride and Prejudice
2 | Alice in Wonderland
3 | Curious Incident Of A Dog In The Night Time
Wszystko jest w porządku i bardzo proste. SELECT staram się osiągnąć jest następujące
ID | Element | Genre
-------------------------------------------------------------
1 | Pride and Prejudice | Drama
2 | Alice in Wonderland | NULL
3 | Curious Incident Of A Dog In The Night Time | Drama
Chcę wybrać wszystkie elementy z elementów tabeli i ustawić pole gatunek do Dramatu lub zerowej.
Próbuję to zrobić w MySQL.
góry dziękuję
Nie widzę potrzeby zwracania kolumny NULL. dlaczego nie użyć WHERE groups.ID! = '3' lub czegoś takiego. bisides, które przy uruchomieniu gry w MySQL 5,6 powrócą w innej kolejności! najpierw kolumny inne niż NULL, niż kolumna NULL. http://sqlfiddle.com/#!9/01cf3/1/0 można użyć instrukcji ORDER BY. –
Moja odpowiedź odpowiedziała na potrzeby pytania, które wymagało wyświetlania wartości NULL, gdy gatunek książki (zakładając, że są to książki) nie jest znany. Zapytania z połączeniami zewnętrznymi są użyteczne, gdy chcesz zobaczyć _all_ dane z jednej z tabel w zapytaniu, bez względu na to, czy są jakieś powiązane dane w innym miejscu. Na przykład powyższe zapytanie może być przydatne w aplikacji zarządzającej kolekcją książek: pozwala wyświetlić wszystkie książki i zidentyfikować te, które jeszcze nie zostały oznaczone gatunek. Oglądanie gatunków dla książek, które ** są oznaczone **, może pomóc w podjęciu decyzji o gatunku innej książki. –