Halllo zusammen,
Ich habe eine Spalte, in der befinden sich Zahlenwerte von 0 bis 9. Nun benötige ich die aber in Abhängigkeit voneinander über möglichst 1 Statement.
Zuerst soll geprüft werden ob es Treffer mit dem Wert = 8 gibt. Wenn das der Fall ist, sollen diese ausgegeben werden und keine Treffer mit Wert = 2-6. Ist das nicht der Fall, soll geprüft werden, ob es Treffer mit Wert = 9 gibt, wenn das der Fall ist, sollen die Treffer mit den Werten 6 und 9 ausgegeben werden. Ist das auch nicht der Fall, sollen die Treffer mit den Werten 2-6 ausgegeben werden.
Unabhängig davon sollen noch die Werte 0,1,7 ausgewertet werden. Wenn es Treffer mit 0 gibt, so sollen diese zu dne obigen Ergebnissen ausgegeben werden, wenn nicht, danm sollen die Treffer mit den Werten 0 & 7 ausgegeben werden.
Mein dreister Versuch, die Bedingungen über Select Case komplett anzugeben scheiterte ansatzweise:
Nicht, dass der Syntax auf Fehler lief, aber ich habe einfach keine Treffer. Also war es vielleicht doch etwas zu forsch formuliert.
Folgendes geht aber:
Nun könnte ich natürlich viele Bedingungen ineinander verschachteln aber vielleicht hat ja jemand eine bessere Idee.
Niels
Ich habe eine Spalte, in der befinden sich Zahlenwerte von 0 bis 9. Nun benötige ich die aber in Abhängigkeit voneinander über möglichst 1 Statement.
Zuerst soll geprüft werden ob es Treffer mit dem Wert = 8 gibt. Wenn das der Fall ist, sollen diese ausgegeben werden und keine Treffer mit Wert = 2-6. Ist das nicht der Fall, soll geprüft werden, ob es Treffer mit Wert = 9 gibt, wenn das der Fall ist, sollen die Treffer mit den Werten 6 und 9 ausgegeben werden. Ist das auch nicht der Fall, sollen die Treffer mit den Werten 2-6 ausgegeben werden.
Unabhängig davon sollen noch die Werte 0,1,7 ausgewertet werden. Wenn es Treffer mit 0 gibt, so sollen diese zu dne obigen Ergebnissen ausgegeben werden, wenn nicht, danm sollen die Treffer mit den Werten 0 & 7 ausgegeben werden.
Mein dreister Versuch, die Bedingungen über Select Case komplett anzugeben scheiterte ansatzweise:
Code:
select * from Tabelle where (select Case when (select count(Wert) from Tabelle where Wert = 8) > 0 then ' Wert = 8' else 'Wert > 1 and Wert < 7 ' end)
Folgendes geht aber:
Code:
select * from Tabelle where Wert = (select Case when (select count(Wert) from Tabelle where Wert = 8) > 0 then 8 else 3 end)
Niels
Comment