SQL CASE的THEN语句中的多个值 [英] Multiple values in SQL CASE's THEN Statement

查看:798
本文介绍了SQL CASE的THEN语句中的多个值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道是否可以在T-SQL中的case语句的then部分中指定多个值?

I am wondering if it is possible to specify multiple values in the then part of a case statement in T-SQL?

我已经附加了一大堆代码,在其中使用它来联接查询中的某些表.我已经在代码段中添加了评论.

I have attached a chunk of code where I am using this to join in some tables in a query. I have included a comment in the snippet.

LEFT JOIN Business B ON v.BusID = B.BusID
LEFT JOIN BusinessTypeKey T ON B.BusinessTypeID = T.BusTypeID
LEFT JOIN Location L ON L.BusID = B.BusID
AND L.HeadQuarters = CASE 
WHEN (SELECT COUNT(1) from Location L2
WHERE L2.BusID = B.BusID) = 1                                                                           
THEN 1,0   -- Would like to specify either 1 or 0 here. I suppose I could also make it euqal to -> L.HeadQuarters but would like a better way to impose it                                                                                                  
ELSE 1  
END

推荐答案

这有点难看,但是假设HeadQuarters不是十进制/数字类型,而只是整数值,

This is a little ugly, but assuming HeadQuarters is not a decimal/numeric type and only integer values,

AND L.HeadQuarters BETWEEN CASE WHEN (SELECT COUNT...) = 1 THEN 0 ELSE 1 END AND 1;

这篇关于SQL CASE的THEN语句中的多个值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆