SQL - SELECT Problem, finde keine Lösung, bitte um Hilfe

humusschicht

Neuer Benutzer
Beiträge
2
Hallo,

es geht um ein SELECT Befehl welchen ich nicht zu lösen weis, ich bitte um Hilfe.

Tabellenstruktur:
table.PNG

"angebot_id" sagt aus welches Produkt es ist
"bestellung_id" ist der kunde welcher das Produkt bestellt hat
"status" sagt aus ob... 0 = bestellt, 1= in Bearbeitung, 2 = fertig

Wie kann man die "bestellung_id" erhalten bei der alle "status" = 2, also fertig sind. Hier im Beispiel würde die "bestellung_id = 19" raus fallen und "bestellung_id = 20" zutreffen.

Leider habe ich keinen Ansatz, es würde mich riesig freuen wenn mir jemand helfen könnte :)
 
Werbung:
Du hast:
Code:
test=*# select * from x;
 id | a | b  | s
----+---+----+---
  1 | 1 | 15 | 0
  2 | 2 | 16 | 2
  3 | 3 | 17 | 0
  4 | 4 | 18 | 0
  5 | 4 | 18 | 0
  6 | 1 | 19 | 2
  7 | 1 | 19 | 0
  8 | 1 | 19 | 0
  9 | 3 | 20 | 2
 10 | 3 | 20 | 2
 11 | 3 | 20 | 2
 12 | 3 | 20 | 2
(12 Zeilen)

(a, b und s die ersten buchstaben jeweisl)

Du suchst:

Code:
test=*# select b, array_agg(s) from x group by b having 2 = all (array_agg(s));
 b  | array_agg
----+-----------
 16 | {2}
 20 | {2,2,2,2}
(2 Zeilen)

Möglicherweise wird dies aber mit Deinem begrenzten DB-System so nicht funktionieren.
 
Code:
SELECT DISTINCT t.bestellung_id FROM tabelle t WHERE NOT EXISTS ( SELECT * FROM tabelle WHERE tabelle.angebot_id = t.angebot_id AND tabelle.bestellung_id = t.bestellung_id AND tabelle.status < 2 )
 
Es scheint als hätte MySQL mit "WHERE NOT EXISTS" und auch "=ALL()" ein Problem, es bemängelt "Unbekanntes Schlüsselwort", scheint wie akretschmer schrieb, an meiner DB-Struktur zu liegen.

Vielen Dank euch beiden !

Wünsche allen einen schönen Feierabend :)
 
Werbung:
Die Struktur ist nicht das Problem, der Funktionsumfang von MySQL ist das Problem. Wobei das eigentlich mit Bord-Mitteln machbar sein dürfte, k.A. wo das Problem bei NOT EXISTS liegen soll.
 
Zurück
Oben