ERLEDIGT
JA
JA
ANTWORTEN
2
2
ZUGRIFFE
603
603
EMPFEHLEN
-
03.03.11 11:03 #1
Hallo Leute,
ich steh grad ziemlich aufm Schlauch und bekomm eine Abfrage einfach nicht hin.
Ich habe zwei Tabellen: die eine heißt Bestellungen, die zweite Artikel.
In Bestellungen gibt es folgende Werte:
bestell_id, datum, bestelldatum, bestellsumme
In Artikel gibt es folgende Werte:
artikel_id, bestell_id, anzahl, bezeichnung, lieferdatum
So, nun habe ich folgendes vor: ich möchte mir alle Bestellungen anzeigen lassen, in denen Artikel nur teilweise geliefert wurden.
Und jetzt kommt mir einfach nicht der Geistesblitz... also in der Theorie müsste es so gehen: ich gehe die Tabelle Artikel durch und wähle alle Artikel aus, in denen das lieferdatum gefüllt ist (wenn nicht geliefert wurde, ist der Wert 0). Im nächsten Schritt suche ich die Artikel raus, die die gleiche bestell_id wie die eben gefundenen Artikel haben, aber deren lieferdatum 0 ist.
Ich steh grad echt aufm Schlauch und weiß überhaupt nicht, wie ich anfangen soll mit dem Befehl... vielleicht kann mir jemand einen Denkanstoß geben?Nur sprechenden Menschen kann geholfen werden...
-
ungetestet:
Ich gruppiere nach der Belegnummer.Code sql:1 2 3 4 5 6 7 8
SELECT bestell_id FROM artilkel AS a GROUP BY bestell_id HAVING COUNT(DISITNCT IF(lieferdatum=0, 'A', 'B')) = 2
Im HAVING zähle ich alle eindeutigen Werten und zwar wie folgt. Ist das leiferdatum 0 , wird ein A gezählt. Ist es ungleich 0, ein B. Mit dem COUNT(DISITINCT ....) gibt es so also nur die Zahlen 1 oder 2. und die 2er wollen wir haben. Also diejenigen, die 0-er Datums und gültige Datums haben.---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
03.03.11 14:05 #3
Vielen Dank, das funktioniert. Mit Having und einem If in der Abfrage hab ich bisher noch nicht gearbeitet.
Hab erst gedacht, es funktioniert nicht, aber das war ein Fehler von mir: hatte in meiner DB keine Bestellungen, auf die das Gesuchte überhaupt zutrifft
Ich danke dir vielmalsNur sprechenden Menschen kann geholfen werden...
Ähnliche Themen
-
MySQL: Abfrage über zwei Tabellen ohne identische Feldnamen
Von metty im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 20.12.10, 09:41 -
MySQL: Abfrage über zwei Tabellen ohne identische Feldnamen
Von metty im Forum PHPAntworten: 1Letzter Beitrag: 17.12.10, 17:41 -
MySQL-Abfrage über zwei Tabellen und zwei Zeilen
Von bnc-bang im Forum Relationale DatenbanksystemeAntworten: 7Letzter Beitrag: 13.04.07, 20:43 -
MySQL-Abfrage über zwei Tabellen und zwei Zeilen
Von bnc-bang im Forum PHPAntworten: 3Letzter Beitrag: 12.04.07, 18:19 -
MySQL: okmplizierte Abfrage über zwei Tabellen und Sortierung nach SUM
Von Paula im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 08.09.05, 10:14





Zitieren

Login





