2011-08-29 49 views
0

考虑以下2个tabls ....需要MySQL查询对于这种情况

M.no budget created date 
1  250M  2010 
2  210M  2011 
3  200M  1999 
4  150M  1994 

S.no Name  
1  Avator 
2  Transformers 
3  Titanic 
4  Dark knight 

现在我想查询发现其中有预算比泰坦尼克号更大的电影名称。

+0

什么都有你到目前为止?告诉我们你卡在哪里:它在JOIN上,过滤? – RedFilter

+0

你在一起表吗?想想你是否缺少一些字段或映射表 – downed

+0

作业的部分好处是自己犁过它。 JK :) – jschorr

回答

0

所有电影的名字与他们的预算:

SELECT S.name, M.budget 
FROM S 
JOIN M ON M.no = S.no 

泰坦尼克预算:

SELECT M.budget 
FROM S 
WHERE S.Name = 'Titanic' 
JOIN M ON M.no = S.no 

所有电影的名字其中有预算大于泰坦尼克号:

SELECT S.name 
FROM S 
WHERE M.budget > (
    SELECT M.budget 
    FROM S 
    WHERE S.Name = 'Titanic' 
    JOIN M ON M.no = S.no 
) 
JOIN M ON M.no = S.no 
0
select m.name 
from movies m inner join budgets b on (b.no = m.no) 
where b.budget > (select budget 
        from from movies mm inner join budgets bb on (bb.no = mn.no) 
        where mm.name = ?)