2017-08-09 45 views
0

我該如何解決這個問題?如果單打的人數更高,我希望輸出是,然後否則是反之。我的Sql打印語句無法正常工作

IF 
select COUNT(StudMaritalStatus) from students WHERE StudMaritalStatus = "M" 
< 
select COUNT(StudMaritalStatus) from students WHERE StudMaritalStatus = "S" 
Print 'Yes' 
ELSE 
Print 'No'; 

回答

1

不能使用IF查詢裏面,而不是使用CASE表達有條件聚集:

SELECT 
    CASE WHEN SUM(CASE WHEN StudMaritalStatus = 'M' THEN 1 ELSE 0 END) < 
       SUM(CASE WHEN StudMaritalStatus = 'S' THEN 1 ELSE 0 END) 
     THEN 'Yes' ELSE 'No' END AS label 
FROM students