Vrumfondel 0 Posted September 12, 2014 Report Posted September 12, 2014 Hallo, ich bin neu hier und traue mich daher mal mit einer einfachen Frage hervor. Ich habe folgenden Tabellenaufbau ID AUFTRAG BELEG POSITION ... 1 1 4711 1000 2 1 4711 1100 3 2 4711 1000 4 2 4711 5 2 4712 1000 6 2 4712 Ich suche nun eine Abfrage, die mir alle Positionen eines Belegs ausgibt, wenn mindestens eine Position des Belegs innerhalb eines Auftrags leer ist, d.h. es dürfen nur die IDs 3 bis 6 ausgegeben werden. Wahrscheinlich ganz einfach... Trotzdem Dank im voraus. Grüße, Vrumfondel
Pathomorph 1 Posted September 12, 2014 Report Posted September 12, 2014 SELECT * FROM [DeineTabelle] WHERE POSITION IS NULL
Vrumfondel 0 Posted September 14, 2014 Author Report Posted September 14, 2014 Das gibt aber doch nur die IDs 4 und 6 zurück, der Select soll aber alle (!) Positionen eines Belegs ausgeben, wenn mindestens eine Position null ist, d.h. es müssen die IDs drei bis sechs ausgeben werden.
zahni 588 Posted September 14, 2014 Report Posted September 14, 2014 Sub-Select oder Having: http://en.wikipedia.org/wiki/Having_(SQL)
hh2000 10 Posted September 16, 2014 Report Posted September 16, 2014 Moin,wie schon gesagt, mit einem Sub-SELECT funktioniert es: SELECT * FROM Tabelle WHERE Auftrag IN ( SELECT Auftrag FROM Tabelle WHERE Position IS NULL ) Gruß Kai
Vrumfondel 0 Posted September 17, 2014 Author Report Posted September 17, 2014 Hallo, schonmal danke für Eure Hilfe, aber das trifft's leider noch nicht vollständig. Ich habe mein Beispiel etwas abgeändert. ID AUFTRAG BELEG POSITION ... 1 1 4711 1000 2 1 4711 1100 3 2 4711 1000 4 2 4711 5 2 4712 1000 6 2 4712 1100 Mit dem genannten Select SELECT * FROM Tabelle WHERE Auftrag IN ( SELECT Auftrag FROM Tabelle WHERE Position IS NULL ) würde der komplette Auftrag 2 ausgegeben, es sollten aber nur die IDs 3 und 4 sein. Womit ich nicht zurecht komme ist, zwei Where-Bedingungen auf den Subselect anzuwenden. Der Subselect müsste Auftrag und Beleg zurückgeben und darauf müsste die Where-Bedingung des Selects angewendet werden. Werde jetzt aber auch noch etwa mit dem HAVING rumbasteln... Viele Grüße Vrumfondel
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now