tsql:是否可以在 select 中执行嵌套 case 语句?
如何将嵌套 if 语句合并到 sql 查询的 select 子句中? 我知道在条件 then X else y 结束时使用 case,但是如何以相同的方式为记录集中的每条记录执行嵌套操作。
if x.boy is not null then
x.boy
else if x.girl is not null
then x.girl
else if x.dog is not null
then x.dog
else
x.cat
这是我的尝试:
SELECT top 10
id,
case when x.boy <> NULL then
x.boy
else case when x.girl <> NULL
x.girl
else case when x.dog <> NULL
x.dog
else x.cat
end as Who
from house x
这是正确的吗?
how do i incorporate a nested if statement in a select clause of a sql query?
I know to use case when condition then X else y end but how do you do a nested one in the same fashion for each record in a record set.
if x.boy is not null then
x.boy
else if x.girl is not null
then x.girl
else if x.dog is not null
then x.dog
else
x.cat
here is my attempt:
SELECT top 10
id,
case when x.boy <> NULL then
x.boy
else case when x.girl <> NULL
x.girl
else case when x.dog <> NULL
x.dog
else x.cat
end as Who
from house x
is this correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的。案件中的案件并没有什么问题。
虽然,这是你的脚本,正确编写:
OR
OR
Yes. There is nothing wrong with a case within a case.
Although, here is your script, written corectly:
OR
OR
您可以使用COALESCE 来简化此操作。
You could simplify this with COALESCE.
尝试一下:
尽管您可以按照 Joe 的建议使用
coalesce
。Try this out:
although you could just use
coalesce
as Joe suggested.