2013-03-01 52 views
1

我看遍了整個Web和StackOverflow,也發現了許多類似的主題,但沒有一個回答具體是我的需要。所以我把它發送到那裏,知道這可能是我錯過的一些小東西,爲了它的工作。MySQL SELECT行響應特定的MULTIPLE值在其中一列

讓我們在下表想象:

 location | title | description | quantity 
    ============|===========|=============|========== 
     shelf  | apple | red  | 2 
     drawer | banana | yellow | 4 
     shelf  | kiwi | green | 2 
     cupboard | lemon | yellow | 1 
     fridge | melon | orange | 3 
     drawer | peach | orange | 1 

我想要做的是選擇從該表是無論是在drawer或在shelf(所以drawershelf),然後將所有物品通過命令他們例如,首先是位置上升,然後是數量下降。

所以我有什麼(都在網上搜索後)是下面的代碼,這是一個不返回一個錯誤,唯一的一個,但它不返回任何項目之一:

SELECT * FROM items WHERE location = 'shelf' AND location = 'drawer' ORDER BY location ASC, quantity DESC

我在哪裏出錯了?任何反饋將不勝感激!

通常問題是如何從多個表中選擇值然後將它們連接起來。但是,我只需要一張表的數值;但是,這些值需要響應他們共享的特定多個值。

+0

基於上述數據所需輸出什麼? – 2013-03-01 18:25:58

+0

只是使用'OR'或'IN',[SQLFiddle演示>> clickHERE <<](http://sqlfiddle.com/#!2/de7b2/7) – 2013-03-01 18:29:28

回答

5
SELECT * FROM items WHERE location = 'shelf' or location = 'drawer' 
ORDER BY location ASC, quantity DESC 

SELECT * FROM items WHERE location in ('shelf','drawer') 
ORDER BY location ASC, quantity DESC 

雖然只有兩個項目,我可能會與第一次去自己,3個或更多,我可能會使用在()

附加信息:原因爲什麼你沒有收到記錄是因爲你在你的情況下使用AND。請記住,每行中只有一個值是唯一的。

+0

正如我所說的「我可能有一些小事失蹤「......感謝一幫,邁克!第一個建議肯定是這樣做的(並且讓我覺得很愚蠢)。而不是'AND',應該使用'OR',因爲'AND'意味着我正在尋找地點滿足所有這些條款的項目,而不是一個或另一個。 – QuestionerNo27 2013-03-01 18:45:11

+0

我發現你昨晚在某處提到的第二個代碼。我也認爲要列出幾個值會更好(因爲我需要列出至少五個值)。但是,昨天晚上我嘗試了它,但它並不適合我。它返回了一條錯誤消息,指出找不到列「shelf」和「drawer」。就像它正在尋找「貨架」或「抽屜」中的「位置」......但是,我已經複製並粘貼了你的,並且它工作正常。不知道我昨天晚上做錯了什麼! – QuestionerNo27 2013-03-01 18:50:46

+0

快問,Mike。你知道我可以在訂單過程中做出例外嗎?假如我想要「桃子」首先被特別列出,即使它以「p」或「apple」開頭,最後,即使它以「a」開頭? – QuestionerNo27 2013-03-01 18:58:52

2

嘗試使用這個.....

如果你想使用它在PHP中,你可以修改我的代碼,並與你更換。我已經當我開發這個類似的問題:

$data = mysql_query("SELECT * FROM cancer WHERE Age ='1'OR Age = '2' OR Age = '3'OR Age = '4'OR Age = '5'OR Age = '6'OR Age = '7'OR Age = '8'OR Age = '9'") 

在SQL中,使用情況:

SELECT * FROM items WHERE location = 'shelf' or location = 'drawer' 
ORDER BY location ASC, quantity DESC 
+0

非常感謝Nick! – QuestionerNo27 2013-03-01 19:54:32

相關問題