SQL Server在1个查询中加入并选择大小写
我需要组合这两个查询,以便在TPS表中HET=1和UOW=3时生成“是”,否则生成“否”。有办法做到这一点吗SQL Server在1个查询中加入并选择大小写,sql,sql-server,join,Sql,Sql Server,Join,我需要组合这两个查询,以便在TPS表中HET=1和UOW=3时生成“是”,否则生成“否”。有办法做到这一点吗 select TPS.HET, TPS.UOW AS UOW from controls inner join TPS on ctrls.Priority_Score=TPS.score inner join TPS AS UOW on ctrls.Priority_Score=TPS.score select case when HET = '1'
select
TPS.HET,
TPS.UOW AS UOW
from controls
inner join TPS on
ctrls.Priority_Score=TPS.score
inner join TPS AS UOW on
ctrls.Priority_Score=TPS.score
select
case when HET = '1' then 'Yes' else 'No' end as HET,
case when UOW = '3' then 'Yes' else 'No' end as UOW from TPS
只需在select语句中添加您的
大小写即可。
此外,当语句
时,您需要将两个组合成一个带有和
的语句,以便仅当HET为1且UOW为3时获得“是”
select ExpectedResult = CASE WHEN TPS.HET = '1' AND TPS.UOW = '3' THEN 'Yes' ELSE 'No' END,
TPS.HET,
TPS.UOW AS UOW
from controls
inner join TPS on ctrls.Priority_Score=TPS.score
inner join TPS AS UOW on ctrls.Priority_Score=TPS.score
在您的案例中使用和
case when HET = '1' and UOW = '3' then 'Yes' else 'No' end as
为什么不简单地在第一个查询的select子句中添加这个case构造呢?在第一个查询中,将这两个case语句粘贴在select
下面,您将得到您想要的内容(只需确保添加一个额外的逗号来分隔字段)为什么要这样做,内部连接TPS作为ctrls上的UOW。优先级\u分数=TPS。分数
?
select
case when HET = '1' and UOW = '3' then 'Yes' else 'No' end as HET,
case when HET = '1' and UOW = '3' then 'Yes' else 'No' end as UOW
from controls
inner join TPS on
ctrls.Priority_Score=TPS.score
inner join TPS AS UOW on
ctrls.Priority_Score=TPS.score
select
case when TPS.HET = '1' then 'Yes' else 'No' end as HET,
case when TPS.UOW = '3' then 'Yes' else 'No' end as UOW
from controls
inner join TPS on
ctrls.Priority_Score=TPS.score
inner join TPS AS UOW on
ctrls.Priority_Score=TPS.score