MYSQL Abfrage
fan
- datenbank
Hallo,
ich habe zwei Tabellen
table artikel
artikel_id bezeichnung
1 apfel
2 birne
3 schokolade
table preis
artikel_id preis
1 5.00 (das wäre der apfel)
2 2.00
Nun möchte ich abfragen, bei welchen Artikel kein Preis vorhanden ist. Geht das?
SELECT artikel_id FROM artikel A, preis B WHERE A.artikel_id = B.artikel_id AND B.preis IS ??
Gruß
fan
Hallo,
evt. so
SELECT * FROM tabelle2 WHERE preis=''
MFG
Andavos
Hallo,
Lösung von Axel war richtig.
Gruß
fan
Hallo,
table artikel
artikel_id bezeichnung
1 apfel
2 birne
3 schokoladetable preis
artikel_id preis
1 5.00 (das wäre der apfel)
2 2.00Nun möchte ich abfragen, bei welchen Artikel kein Preis vorhanden ist. Geht das?
SELECT artikel_id FROM artikel A, preis B WHERE A.artikel_id = B.artikel_id
Das ist ein INNER JOIN. Der enthält _nur_ die Datensätze, bei denen artikel_id gleich ist. Er enthält also schokolade _nicht_.
Du brauchst einen LEFT JOIN
SELECT artikel_id, bezeichnung FROM artikel LEFT JOIN preis ON artikel.artikel_id = preis.artikel_id WHERE preis.preis IS NULL
viele Grüße
Axel
Du brauchst einen LEFT JOIN
SELECT artikel_id, bezeichnung FROM artikel LEFT JOIN preis ON artikel.artikel_id = preis.artikel_id WHERE preis.preis IS NULL
viele Grüße
Axel
hallo axel,
genau das wars. vielen Dank und
Beste Grüsse
fan
yo,
zwei tabellen zu benutzen ist in diesem falle nicht zu empfehlen. viel besser wäre es, artikel id, artikelname und den preis in einer tabelle unterzubringen. dies würde unter anderem auch die abfrage vereinfachen, welche artikel keinen preis besitzen.
SELECT bezeichnung FROM Artikel WHERE preis IS NULL;
Ilja
Hallo,
ich muß aber 2 Tabellen verwenden, trotzdem danke.
gruss
yo,
ich muß aber 2 Tabellen verwenden, trotzdem danke.
welcher grund sollte dafür vorlegen ? es handelt sich auf den ersten blick um eine 1:1 beziehung. und was sagt der zweite blick, sind das vorgaben, die du bekommen hast ?
Ilja