Mi dispiace per il titolo minimalista ma non so come descriverlo in breve. Ho tre tabelle:SQL JOIN many-to-many
la tabella dei gruppi
ID | Genre
-----------------
1 | Action
2 | Adventure
3 | Drama
molti a molti tavolo
GroupID | ElementID
-----------------
3 | 1
1 | 2
2 | 2
2 | 3
3 | 3
E la tavola degli elementi
ID | Element
-----------------
1 | Pride and Prejudice
2 | Alice in Wonderland
3 | Curious Incident Of A Dog In The Night Time
Tutto va bene e molto semplice. SELECT che sto cercando di realizzare è la seguente
ID | Element | Genre
-------------------------------------------------------------
1 | Pride and Prejudice | Drama
2 | Alice in Wonderland | NULL
3 | Curious Incident Of A Dog In The Night Time | Drama
voglio selezionare tutti gli elementi dagli elementi di tabella e impostare il campo genere ad dramma o nulla.
Sto cercando di farlo in MySQL.
Grazie in anticipo
Non vedo la necessità di restituire una colonna NULL. perché non utilizzare WHERE groups.ID! = '3' o qualcosa del genere. bisides che, quando si esegue il violino in Mysql 5.6 tornerà in ordine diverso! prima le colonne non NULL, rispetto alla colonna NULL. http://sqlfiddle.com/#!9/01cf3/1/0 u potresti utilizzare un'istruzione ORDER BY. –
La mia risposta ha risposto alle esigenze della domanda, che richiedeva la visualizzazione di valori NULL quando il genere del libro (supponendo che si tratti di libri) non è noto. Le query con join esterni sono utili quando si desidera visualizzare _ tutti i dati da una delle tabelle nella query, indipendentemente dall'eventuale presenza di dati correlati altrove. Ad esempio, la query sopra può essere utile in un'applicazione che gestisce una raccolta di libri: ti consente di vedere tutti i libri e identificare quelli che non hai ancora etichettato con un genere. Vedere i generi per i libri che ** sono ** taggati può aiutarti a decidere il genere di un altro libro. –