IF Bedingung SELECT
Maik
- datenbank
Guten Morgen,
ich hoffe ihr könnt mir bei folgender Problematik helfen.
Also ich habe eine Tabelle: --> t_tbl.
t_tbl
-------
Verfahren (CHAR)
Status (char)
Nun möchte ich, eine SQl Abfrage generieren, welche mir, wenn Status = "geschlossen" ist, dessen Anzahl (count) ausgibt.
Das selbe für "offen" und "Bearbeitung"
SELECT
Verfahren
COUNT(IF(Status='Geschlossen',1,0)) as geschlossen,
COUNT(IF(Status='offen',1,0)) as offen,
COUNT(IF(Status='bearbeitung',1,0)) as bearbeitung
FROM t_tbl
Group by Verfahren
Doch Irgendiwe geht dies nicht, denn er gibt immer den selben wert, bei offen, geschlossen und bearbeitung an ; (
Hoffe ihr könnt mir helfen.
yo,
kann es sein, dass du und peter die gleiche person sind ?
Doch Irgendiwe geht dies nicht, denn er gibt immer den selben wert, bei offen, geschlossen und bearbeitung an ; (
entweder machst du es mit NULL anstelle von 0 oder du benutzt SUM anstelle von COUNT.
Ilja
Fast, ich bin der Bruder von Paul.
Mit der NULL ht es geklappt.
Ich hätte noch eine Frage, as bedeutet: 1,NULL bei der Abfrage ?
Danke für deine Geduld ; )
yo,
Ich hätte noch eine Frage, as bedeutet: 1,NULL bei der Abfrage ?
das ist nur im zusammenhang mit der IF funktion zu beantworten.
IF(ausdruck, wenn_wahr, wenn_falsch)
wenn der ausdruck wahr wird also die bedingung zutrifft, dann nehme eine 1, ansonsten NULL, wobei NULL wetrte bei der COUNT Aggregat-Funktion nicht mitgezählt werden.
Ilja
Kann ich eine Bedingte INSERT into Abfrage generieren ?
Beispiel:
INSERT INTO tabelle (Spalte)
Values(
IF(Spalte2='test','D.IOV',NULL),
.....,
....
)
Ist dies in irgendeinerr Art möglich ?
yo,
Ist dies in irgendeinerr Art möglich ?
wenn du den INSERT aus einer Abfrage heraus befüllst, dann ght das ja.
Ilja