MySQL查询:从两列在同一领域选择

问题描述:

我有以下MySQL表:MySQL查询:从两列在同一领域选择

产品

ID -- NAME -- INSTOCK -- REFERER -- DISCOUNT 
1 -- pen -- 1 -- google.com -- 50 
2 -- mouse -- 0 -- google.ca -- 30 
3 -- keyboard -- 1 -- google.ca -- 30 
4 -- screen -- 1 -- yahoo.com -- 50 
5 -- mother board -- 1 -- yahoo.ca -- 30 
6 -- printer -- 1 -- google.com --30 

我试图让所有具有行是:

INSTOCK等于1,REFERER等于google.com和google.ca

我该怎么做?

非常感谢

+0

只是为了确保你想选择亲库存管道和推荐人是google.com还是google.ca?对于你的例子,你想要返回1,2,3和6吗? – Belinda 2011-03-09 15:30:45

+1

这似乎是不可能的。你希望从这个查询中得到什么样的ID? – anothershrubery 2011-03-09 15:33:48

+1

我们可能是指google.com **或** google.ca ... – 2011-03-09 15:41:54

这是非常基本的SQL:

SELECT ID, NAME 
FROM Products 
WHERE INSTOCK = 1 AND (REFERER = 'google.com' OR REFERER = 'google.ca'); 

更多参考:

+0

是的,这是一个学习者。谢谢! – user523129 2011-03-09 15:45:35

使用WHERE语句与您的查询,条件相结合:

// Example
SELECT ID, NAME FROM table WHERE INSTOCK = 1 AND (REFERER = 'google.com' OR REFERER = 'google.ca');

+0

谢谢Artusamak,但用您的查询我得到0结果,并且这是不正确的:( – user523129 2011-03-09 15:38:26

+0

你的预期结果是什么? – Belinda 2011-03-09 15:40:45

+0

尝试用OR代替;;) – Artusamak 2011-03-09 15:41:32

我敢打赌,你的意思是OR,而不是在你的问题:

您寻找:

SELECT * FROm table WHERE INSTOCK = 1 AND REFERER IN ('google.com', 'google.ca') 

或者你可以使用OR:

SELECT * FROM table WHERE INSTOCK = 1 AND (REFERER = 'google.com' OR REFERER = 'google.ca') 
+0

使用'IN()'的+1 – Sonny 2011-03-09 15:55:44