我如何使用 T-SQL 的 Case/When? [英] How do I use T-SQL's Case/When?
本文介绍了我如何使用 T-SQL 的 Case/When?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个很大的查询,它经常使用case/when.现在我这里有这个 SQL,它不起作用.
I have a huge query which uses case/when often. Now I have this SQL here, which does not work.
(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],
引起问题的是xyz.somethingelseaagain = 2
,它说它无法绑定该表达式.xyz 是在查询中进一步连接的表的别名.这里有什么问题?删除 2 个 case/whens 中的一个可以纠正这一点,但我需要它们两个,甚至可能更多的情况.
Whats causing trouble is xyz.somethingelseagain = 2
, it says it could not bind that expression. xyz is some alias for a table which is joined further down in the query. Whats wrong here? Removing one of the 2 case/whens corrects that, but I need both of them, probably even more cases.
推荐答案
SELECT
CASE
WHEN xyz.something = 1 THEN 'SOMETEXT'
WHEN xyz.somethingelse = 1 THEN 'SOMEOTHERTEXT'
WHEN xyz.somethingelseagain = 2 THEN 'SOMEOTHERTEXTGOESHERE'
ELSE 'SOMETHING UNKNOWN'
END AS ColumnName;
这篇关于我如何使用 T-SQL 的 Case/When?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文