我有以下数据。
Declare @mytable TABLE(EmpName varchar(100),MATHS INT,SCIENCE INT)
INSERT INTO @mytable
VALUES('Ram',50,60)
,('Krishna',100,30)
,('Ramesh',90,90)
我想展示符合条件的记录(数学=90,科学=90(。
我写了以下查询。
SELECT EmpName
,CASE WHEN MATHS=90 THEN CASE WHEN SCIENCE =90 THEN 1 ELSE 0 END END
FROM @mytable
重写上述查询的任何其他方式。
感谢你的帮助。
谢谢
使用SQL的内联If。查看代码时,您希望返回这些人是否在两次考试中都得了90分,并在一列中标记他们,如果他们符合标准,则返回1,如果不符合标准,返回0。
在这个例子中,从可读性的角度来看,我会选择inline if而不是Case关键字。
SELECT EmpName,
IIF((MATHS = 90 AND SCIENCE = 90), 1, 0)
FROM @mytable
您可以简单地编写
CASE WHEN MATHS = 90 AND MATHS = SCIENCE THEN 1 ELSE 0 END