Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

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

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von humusschicht, 9 Juni 2016.

  1. humusschicht

    humusschicht Neuer Benutzer

    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 :)
     
  2. akretschmer

    akretschmer Datenbank-Guru

    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.
     
  3. ukulele

    ukulele Datenbank-Guru

    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 )
     
  4. humusschicht

    humusschicht Neuer Benutzer

    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 :)
     
  5. akretschmer

    akretschmer Datenbank-Guru

    Nicht nur damit - aber für hier und jetzt hast ja scheinbar erst einmal eine Lösung. Das wird nicht immer so schön klappen ...
     
  6. ukulele

    ukulele Datenbank-Guru

    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.
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden