2017-03-13 149 views
0

我遇到了從我的MySQL數據庫中選擇數據的問題。複雜的SELECT MySQL語句

例如,我有一個表有以下的列&表:

Table name: farming 

id | animal | amount | food 
---------------------------- 
1 | Cow | 10 | Grass 
12 | Sheep | 19 | Grass 
23 | Lion |  1 | Everything 
29 | Lamb |  3 | Grass 
102| Pig |  8 | Everything 
... 

我想從匹配food類型選擇id的是,所有行獲得amount

E.g.如果我選擇id: 102那麼它會得到所有行food = 'Everything'

SELECT amount FROM farming WHERE food = '".$_GET['food']."' **IS THE SAME TYPE AS IT IS IN** id = '1'"; //這應該選擇1019amount3amount(爲id = 1的食物類型是Grass,所以應該選擇所有行amount其中,食物類型=草。

**是我現在面臨的問題,我已經試過各種報表,似乎無法得到它的工作。

+2

使用嵌套查詢'SELECT量從農業WHERE食品=(從農業選擇食物其中id = 102) ' – gvmani

+0

@gvmani解決了它!好一個! – AlwaysCooking

回答

0

您可以通過子句將總結使用組一個從量塔11值whre食品= '草'

SELECT SUM(amount) ammount FROM farming 
     WHERE food = (select food FROM farming where id = 102) 
     GROUP BY food 
0

這應該做的伎倆

select amount 
from farming 
where food = (
      select food 
      from farming 
      where id = 1 
     )