2011-03-09 257 views
0

我有以下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

回答

0

使用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

1

我敢打賭,你的意思是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