Сравнить два столбца содержат одинаковое значение на SQL сервере - PullRequest
0 голосов
/ 06 мая 2020

У меня есть данные ниже.

Declare @mytable TABLE(EmpName varchar(100),MATHS INT,SCIENCE INT)
INSERT INTO @mytable 
VALUES('Ram',50,60)
,('Krishna',100,30)
,('Ramesh',90,90)

Я хочу показать записи, которые соответствуют условию (Maths = 90 и Science = 90).

Я написал запрос ниже.

SELECT EmpName
,CASE WHEN MATHS=90 THEN CASE WHEN SCIENCE =90 THEN 1 ELSE 0 END END
 FROM @mytable

Любой другой способ переписать вышеуказанный запрос.

Благодарю за вашу помощь.

Спасибо

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Вы можете просто написать

CASE WHEN MATHS = 90 AND MATHS = SCIENCE THEN 1 ELSE 0 END
0 голосов
/ 06 мая 2020

Используйте SQL s Inline If . Глядя на код, вы хотите узнать, набрали ли эти люди 90 баллов на обоих экзаменах, и пометить их как таковые в одном столбце, вернув 1, если они соответствуют критериям, и 0, если нет.

В этом случае с точки зрения читабельности я бы выбрал встроенный if вместо ключевого слова Case .

SELECT  EmpName,
        IIF((MATHS = 90 AND SCIENCE = 90), 1, 0)
FROM @mytable
...