Base-Abfrage über 2 Tabellen

hallo,
ich habe hier 2 Tabellen
Tabelle Artikel
id, artnr, artgr_id, bescheib, preis1, preis2, lastupdate
Tablle Artikelgruppe
id, artgr

Nun gibt es in der Tabelle Artikel Datensätze, bei denen in der Spalte
artgr_id kein Wert steht

Bei meiner Abfrage
SELECT a.artnr, ag.artgr, a.beschr, a.prei2 FROM Artiklegruppe AS ag,
Artikel AS a WHERE a.artgr_id=ag.id AND a.lastupdate > '2013-01-01'

erhalte ich nur die Artikel, bei denen eine artgr_id eingetragen ist.
Wie bekomme ich die Artikel ohne Artikelgruppeneintrag?
Und kann ich diese bei der Abfrage mit einen Wert 'ARTGR-Fehler' ausweisen?

Gruß
Armin

Hallo Armin,

Nun gibt es in der Tabelle Artikel Datensätze, bei denen in der Spalte
artgr_id kein Wert steht

Bei meiner Abfrage
SELECT a.artnr, ag.artgr, a.beschr, a.prei2 FROM Artiklegruppe AS ag,
Artikel AS a WHERE a.artgr_id=ag.id AND a.lastupdate > '2013-01-01'

erhalte ich nur die Artikel, bei denen eine artgr_id eingetragen ist.
Wie bekomme ich die Artikel ohne Artikelgruppeneintrag?

Alle zusammen bekommst Du mit
SELECT a.artnr, ag.artgr, a.beschr, a.prei2 FROM Artikelgruppe AS ag
RIGHT JOIN Artikel AS a ON a.artgr_id=ag.id WHERE a.lastupdate >
'2013-01-01'

Und kann ich diese bei der Abfrage mit einen Wert 'ARTGR-Fehler' ausweisen?

SELECT a.artnr, IFNULL(ag.artgr,'ARTGR-Fehler'), a.beschr, a.prei2 FROM
Artikelgruppe AS ag RIGHT JOIN Artikel AS a ON a.artgr_id=ag.id WHERE
a.lastupdate > '2013-01-01'

Gruß

Robert

Hallo Robert,
danke für die Hilfe. Hat wunderbar geklappt.
Gruß
Armin

Robert Großkopf schrieb: