Ich habe eine große Abfrage, die Fall verwendet/wenn oft. Jetzt habe ich diese SQL hier, die nicht funktioniert.Wie benutze ich T-SQL's Fall/Wann?
(select case when xyz.something = 1
then
'SOMETEXT'
else
(select case when xyz.somethingelse = 1)
then
'SOMEOTHERTEXT'
end)
(select case when xyz.somethingelseagain = 2)
then
'SOMEOTHERTEXTGOESHERE'
end)
end) [ColumnName],
Was Ärger verursacht xyz.somethingelseagain = 2
ist, sagt er es nicht, dass die Expression binden konnte. xyz ist ein Alias für eine Tabelle, die in der Abfrage weiter unten eingefügt wird. Was ist hier falsch? Das Entfernen eines der beiden Fälle korrigiert das, aber ich brauche beide, wahrscheinlich noch mehr Fälle.
Works, was ist der Unterschied? :) – grady
Lets sagen, ich habe einige der when als Duplikate, wie folgt: WENN xyz.something = 1 und xyz.abc = 2 DANN 'SOMETEXT' WENN xyz.etwas = 1 und xyz.abc <> 2 DANN 'SOMEOTHERTEXT' Kann ich irgendwie sagen, wenn die erste wann eingestellt wurde, dass die kommenden übersprungen werden? Etwas, das dem Fall entgeht/wann? – grady