2011-08-29 50 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 = ?)