Ich brauche Hilfe bei einer SQL-Abfrage
Guten Morgen,
ich sitze gerade vor einem kl. SQL-Problem und ich hoffe, dass ich hier ein paar Tipps bekomme.
Folgende Situation:
Ich habe div. Artikel mit jeweils einer Stückliste (Beispiel: Artikel "Kugelschreiber", der aus der Stückliste "Feder", "Mine" und "Gehäuse" besteht)
Ich habe 2 SQL-Tabellen: ARTIKEL und STÜCKLISTE
Artikel-Tabelle:
Stk.-Liste-Tabelle:
Jetzt möchte ich mir alle Artikel (aus Tabelle ARTKEL) anzeigen lassen, die kein „Gehäuse“ in der Stückliste habe.
Aber leider, da ich jetzt kein SQL-Profi bin, habe ich keine Idee, wie ich an die Lösung komme.
Folgendes hatte ich mal versucht, was aber nicht zum Ziel führte.
Hat jemand eine Idee, mit welchem Befehl ich das SELECT aufbauen kann?
Gruß
Michael
ich sitze gerade vor einem kl. SQL-Problem und ich hoffe, dass ich hier ein paar Tipps bekomme.
Folgende Situation:
Ich habe div. Artikel mit jeweils einer Stückliste (Beispiel: Artikel "Kugelschreiber", der aus der Stückliste "Feder", "Mine" und "Gehäuse" besteht)
Ich habe 2 SQL-Tabellen: ARTIKEL und STÜCKLISTE
Artikel-Tabelle:
| Artikel_nr | Bezeichnung |
| Kulli_01 | Kulli ROT |
| Kulli_02 | Kulli BLAU |
.
.
.
| Artikel_nr | Bezeichnung | Bezug |
| Feder | Feder | Kulli ROT |
| Mine | Mine | Kulli ROT |
| Gehäuse | Gehäuse | Kulli BLAU |
.
.
.
Aber leider, da ich jetzt kein SQL-Profi bin, habe ich keine Idee, wie ich an die Lösung komme.
Folgendes hatte ich mal versucht, was aber nicht zum Ziel führte.
SELECT y.*
FROM artikel y
WHERE NOT EXISTS
(
SELECT *
FROM stückliste x
WHERE y.artikel_nr = 'gehäuse'
)
Gruß
Michael
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 456448
Url: https://administrator.de/contentid/456448
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
8 Kommentare
Neuester Kommentar
Nein im WHERE macht das keinen Sinn, gutes Beispiel:
https://stackoverflow.com/questions/14861927/left-outer-join-query-not-r ...
Im Prinzip machst du nichts anderes als das, dessen Existenz du eigentlich ausschließen willst, zu joinen und sobald ein Datensatz gejoint wurde, schmeißt du ihn komplett raus. Nur wenn kein Join statt finden kann behälst du den Eintrag.
Das ganze ließe sich auch gut mit WHERE NOT IN () oder WHERE NOT EXISTS () lösen.
https://stackoverflow.com/questions/14861927/left-outer-join-query-not-r ...
Im Prinzip machst du nichts anderes als das, dessen Existenz du eigentlich ausschließen willst, zu joinen und sobald ein Datensatz gejoint wurde, schmeißt du ihn komplett raus. Nur wenn kein Join statt finden kann behälst du den Eintrag.
Das ganze ließe sich auch gut mit WHERE NOT IN () oder WHERE NOT EXISTS () lösen.