比较SQL Server中包含相同值的两列



我有以下数据。

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

最新更新