我有一個表,其中包含字段student_number和完成標誌,其完成或未完成。Where子句測試,其中所有必須匹配
我期待寫一個WHERE子句,讓我來檢查,如果選擇3學生人數和檢查,如果他們都在各自的領域完成已經完成了,但是都必須匹配。
任何想法如何ID去呢?
我有一個表,其中包含字段student_number和完成標誌,其完成或未完成。Where子句測試,其中所有必須匹配
我期待寫一個WHERE子句,讓我來檢查,如果選擇3學生人數和檢查,如果他們都在各自的領域完成已經完成了,但是都必須匹配。
任何想法如何ID去呢?
DROP TABLE T;
CREATE TABLE T (ID INT, COMPLETED VARCHAR(20))
INSERT INTO T VALUES
(34646, 'COMPLETD'),(57858,'COMPLETeD'),(48482,'COMPLETED')
SELECT case when s.sta > 0 then 'NotAllCompleted'
else 'AllCompleted'
end
FROM
(
SELECT SUM(CASE WHEN COMPLETED <> 'COMPLETED' AND ID IN(34646,57858,48482) THEN 1 ELSE 0 END) sta
FROM T
) S
---------------
NotAllCompleted
(1 rows affected)
truncate table t
INSERT INTO T VALUES
(34646, 'COMPLETeD'),(57858,'COMPLETeD'),(48482,'COMPLETED')
SELECT case when s.sta > 0 then 'NotAllCompleted'
else 'AllCompleted'
end
FROM
(
SELECT SUM(CASE WHEN COMPLETED <> 'COMPLETED' AND ID IN(34646,57858,48482) THEN 1 ELSE 0 END) sta
FROM T
) S
---------------
AllCompleted
(1 rows affected)
請提供一些示例數據,並讓我們瞭解您已經嘗試所以? – balaji
所以說我選擇學號34646,57858和48482。香港專業教育學院嘗試過做WHERE學號= 34646或57858或48482,竣工=「已完成」。但是這並不意味着所有必須完成的陳述是真實的 – farrea