2013-03-28 109 views
1

我目前正在編寫應該查詢具有多個ID的多個不同記錄的代碼。我曾嘗試過:查詢多個值

SELECT * FROM Items WHERE ID = (1, 2) 

SELECT * FROM Items WHERE ID = 1, 2 

SELECT * FROM Items WHERE ID = '1, 2' 

我在做什麼錯?

回答

2

這將很好的工作。您要查找的信息是大多數SQL語言的「IN」運算符(MySQL example here)。

你正在做的是提供一系列值作爲一個集合(IN運算符的右側),然後要求數據庫帶回你正在查詢的列的記錄(IN運算符的左側)具有集合中的其中一個值。

2

使用此

SELECT * FROM Items WHERE ID = 1 or ID = 2; 

或使用速記符號

SELECT * FROM Items WHERE ID IN (1,2); 
2

使用IN如果您比較多個值。

SELECT * FROM Items WHERE ID IN (1, 2) 

這是

SELECT * FROM Items WHERE ID = 1 OR ID = 2 

此語句相同:「...查詢包含多個ID的幾個不同的記錄」,我想你想搜索有多個ID的組,如果是這種情況,則問題叫Relational Division

SELECT groupColumn 
FROM Items 
WHERE ID IN (1, 2) 
GROUP BY groupColumn 
HAVING COUNT(*) = 2 
2

你需要鍵入什麼是

SELECT * FROM Items WHERE ID IN (1,2) 

注意字符串值中的括號內使用單引號( '1', '2')

2

使用IN像以下

SELECT * FROM Items WHERE ID IN (1, 2); 
2

語法:

SELECT * FROM TABLE WHERE ID IN (id1, id2, ..., idn) 

在這裏,你的情況:

SELECT * FROM Items WHERE ID IN (1, 2); 
2

使用

select * from items where id in (1,2);