2013-10-12 57 views
0

如果匹配IN語句內的任何值,SQL「in」子句將返回值。但是如果我們想要返回一個值,那麼「IN」中的所有值都應該匹配?「IN」子句的SQL對應

+1

怎麼會連工作? –

+5

一個值不能匹配所有的值,除非它們全都相同。我認爲你需要一個你真正的意思的具體例子。 – Laurence

+0

如果項目是非唯一的,那將是'WHERE 1 = 0',因爲單個值不能同時等於多個不相等的項目。 – dasblinkenlight

回答

0

您可以使用GROUP BYHAVING過濾掉記錄,例如。

SELECT yourColumn 
FROM tableName 
WHERE otherColumn IN ('a','b','c') 
GROUP BY yourColumn 
HAVING COUNT(*) = 3 -- <== the number of values in the WHERE clause 
+2

請注意,除非'otherColumn'確保在每個組中不同,否則您需要'COUNT(DISTINCT otherColumn)'。 – eggyal