Mein Problem beim Abrufen einer Zeile mit zwei Nullwerten angezeigt.LEFT JOIN kann es nicht richtig machen
Meine Tabellen sind unten
FROM tuote;
ttunnus | tnimi | kuvaus | suositushinta | tmtunnus
---------+-----------------------+--------------------+---------------+----------
111 | Trimmeri TRCee | tehokas 4-tahtinen | 179.00 | 1
112 | Trimmerisiima Cee | laadukas siima | 6.99 | 1
113 | Moottorisaha MSCee RR | robusti ja raskas | 559.00 | 1
114 | Trimmerisiima Y | yleissiima | 3.99 | 2
115 | Lapio L | kevyt yleislapio | 23.95 | 2
(5 rows)
FROM kategoria;
ktunnus | knimi
---------+-----------
11 | puutarha
14 | valaistus
12 | metsä
13 | lumityöt
(4 rows)
FROM tuote_kategoria;
ttunnus | ktunnus
---------+---------
111 | 11
112 | 11
113 | 11
113 | 12
114 | 11
115 | 11
115 | 13
(7 rows)
gezeigt brauche ich mit valaistus
ON NULL values in tnimi and suositushinta
knimi | tnimi | suositushinta
-----------+-----------------------+---------------
puutarha | Trimmeri TRCee | 179.00
puutarha | Trimmerisiima Cee | 6.99
puutarha | Moottorisaha MSCee RR | 559.00
metsä | Moottorisaha MSCee RR | 559.00
puutarha | Trimmerisiima Y | 3.99
puutarha | Lapio L | 23.95
lumityöt | Lapio L | 23.95
valaistus | |
(8 rows)
diese Informationen aus Tabellen zu erhalten, aber ich es nur wie diese nicht in der richtigen Art und Weise bekommen.
SELECT t2.knimi, t1.tnimi, t1.suositushinta
FROM tuote t1, tuote_kategoria
LEFT JOIN kategoria t2 ON t2.ktunnus = tuote_kategoria.ktunnus
WHERE t1.ttunnus = tuote_kategoria.ttunnus;
knimi | tnimi | suositushinta
----------+-----------------------+---------------
puutarha | Trimmeri TRCee | 179.00
puutarha | Trimmerisiima Cee | 6.99
puutarha | Moottorisaha MSCee RR | 559.00
metsä | Moottorisaha MSCee RR | 559.00
puutarha | Trimmerisiima Y | 3.99
puutarha | Lapio L | 23.95
lumityöt | Lapio L | 23.95
(7 rows)
Sie sind äußere Verbindungs 'kategoria' an den anderen Tischen, wann sollte es umgekehrt sein. Übrigens: Sie mischen die kommagetrennte Joinsyntax vor 1992 ('FROM tuote t1, tuote_kategoria') mit richtigen ANSI-Joins (' LINKE JOIN kategoria t2 ON ... '). Sie sollten diese alte Joinsyntax nicht mehr verwenden. –
JOIN-Ketten werden vor kommagetrennten Elementen ausgewertet. – jarlh
Mischen Sie niemals implizite Joins mit expliziten Joins –