首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Case Query in Where Clause SQL Server 2008

Case Query in Where Clause SQL Server 2008
EN

Stack Overflow用户
提问于 2015-08-31 20:06:03
回答 1查看 41关注 0票数 0

我有下面的SQL查询(我知道它可能很难看,效率很低)。我需要能够询问

代码语言:javascript
复制
IF @techID = 0   
Then Technician.Tech_ID > 0
Else @TechID <> 0
Then Technician.Tech_ID = @TechID

我对如何做到这一点有点不知所措

代码语言:javascript
复制
sql = "Select Long_Call.Department,Technician.First_Name,Technician.Last_Name, Clinic_ID,Long_Call.Case_Number,Long_Call.Synopsis," +
                           "Long_Call.Version,Long_Call.Time_On_Call, RIGHT(CONVERT(VARCHAR,Long_Call.Call_DateTime,100),7) as Call_Time,CONVERT(VARCHAR(10),cast(Long_Call.Call_DateTime as date),101) as Call_Date,"+
                           "Call_Tracking.Description as Description from Long_Call,Call_Tracking, " +
                           "Technician where Long_Call.Tech_ID = Technician.Tech_ID and Long_Call.Tracking_ID = Call_Tracking.Tracking_ID and CAST(Long_Call.Call_DateTime as Date)"+
                           "BETWEEN @StartDate and @EndDate and Long_Call.Time_On_Call >= @Call_Length and Technician.Tech_ID = @TechID and Long_Call.Tracking_ID <> 2 and Long_Call.Tracking_ID <> 3;";
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-31 20:14:03

您可以这样做,使用复合条件。

代码语言:javascript
复制
WHERE (@techID = 0 AND Technician.Tech_ID > 0)
OR Technician.Tech_ID = @TechID;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32319109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档