2016-07-14 115 views
0

我想選擇每個相同ID的列滿足條件的ID,但我無法弄清楚查詢以獲得結果。 表看起來是這樣的:選擇每個相同ID的列滿足條件的ID

text | id 
---------- 
text1 | 1 
text2 | 1 
text3 | 1 
text1 | 2 
text3 | 2 
text2 | 3 

除外結果SELECT id FROM table WHERE text IN ("text1", "text2")

id 
-- 
1 
+0

您可以添加樣本數據設置與上例相關 –

+0

@MaheshMadushanka你是什麼意思?有一個帶有文本和ID列的示例表。 – Ladas125

+0

我想明確地得到你的要求,如果你使用上面的表,如果你能提供預期的結果集將是偉大的 –

回答

2
SELECT id 
FROM `table` AS t1 
INNER JOIN `table` AS t2 USING (id) 
WHERE t1.text = "text1" AND t2.text = "text2" 
+0

謝謝,但沒有比加入表格更簡單的方法,例如10次檢查10個不同的值?另外,如果表格真的很大,它可能會非常需要性能? – Ladas125

0

SELECT DISTINCT id FROM table WHERE text IN ("text1", "text2")

0

加入同桌再次

SELECT t.id from 
(SELECT id FROM table WHERE text IN ("text1")) t 
INNER JOIN 
(SELECT id FROM table WHERE text IN ("text2")) 
on tt t.id=tt.id;