SQL Abfrage

bromkracher

Neuer Benutzer
Beiträge
1
Hallo,

ich habe Probleme eine SQL Abfrage zu Formulieren, vielleicht könnt ihr mir helfen.

Tabelle 1:

ID - | - Name
1; ABC
2; DEF
3; GHI

Tabelle 2:
ID - | - Bool
1; true
1; false
2; true
3; false
3; false

Meine Abfrage soll die Tabellen verknüpfen und nur die Entitäten anzeigen, die in Tabelle 2 NICHT false stehen haben. Beispiel: Steht bei einer Entität einmal true und einmal false, soll sie nicht im Ergebniss auftreten. Stehen nur false bei der Entität drin, ist das ok. Nur true soll auch nicht gezeigt werden.
Probleme bereiten mir die Entitäten, wo true und false auftritt. Kann mir wer helfen?
 
Werbung:
Meine Abfrage soll die Tabellen verknüpfen und nur die Entitäten anzeigen, die in Tabelle 2 NICHT false stehen haben. Beispiel: Steht bei einer Entität einmal true und einmal false, soll sie nicht im Ergebniss auftreten. Stehen nur false bei der Entität drin, ist das ok. Nur true soll auch nicht gezeigt werden.
Probleme bereiten mir die Entitäten, wo true und false auftritt. Kann mir wer helfen?

Also:
  • a) wenn true und false, dann nicht anzeigen
  • b) nur true soll auch nicht angezeigt werden
  • c) es sollen nur angezeigt werden, die nicht false haben



1 verstößt gegen a, 2 gegen b und 3 scheidet eh aus. Soll also keines angezeigt werden. Mir fällt grad kein Szenarion ein, was angezeigt werden soll.

Aber vielleicht hilft Dir das:

Code:
test=*# select * from t2;
id | b
----+---
  1 | t
  1 | f
  2 | t
  3 | f
  3 | f
(5 rows)

test=*# select id, sum(case when b then 1 else 0 end) as b_true, sum(case when not b then 1 else 0 end) as b_false from t2 group by id order by id;
id | b_true | b_false
----+--------+---------
  1 |  1 |  1
  2 |  1 |  0
  3 |  0 |  2
(3 rows)
 
Werbung:
Zurück
Oben