2013-03-28 59 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);