2017-03-13 145 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 
     )