2013-12-17 51 views
0

這很棘手。我需要從land中提取land_info中的值..但是我需要幾個WHERE:partner.type ='Studie',land.land ='USA',sprog.sprog ='Engelsk'and lastly udd.udd ='Bygning' ...合作伙伴和sprog表是多對多關係..因此有一個名爲partner_has_sprog的表格..與夥伴和udd = partner_has_udd一樣...如何從1列中選擇值,其中不同表格中的某些列=不同值

我已經使這個sql提琴表.. http://sqlfiddle.com/#!2/bdd7a4 ...基本上..我需要選擇的是來自第二方合作伙伴(在美國)的land.land_info ..任何幫助將不勝感激!

+0

只需從sprog與必要的棘手的土地呼叫合作伙伴。和...一樣......哦,我不能保持這一點。然而,我懷疑德國,美國或英國是否會很快改變他們的國家代碼,所以這可能是一個正常化的步驟! – Strawberry

+0

USE OR語句多重條件@Strawberry haha​​h –

+0

順便說一句,land是夥伴表中的varchar(100)和地表中的varchar(40)。如果您加入40多個字符的土地,您會遇到很多麻煩 – jean

回答

0

如果你只是想所有的表連接在一起這是不是太困難,你只需要使用每次INNER JOIN

SELECT 
    P.partid 
    ,P.type 
    ,L.land_info 
    ,L.land 
    ,UDD.udd 
    ,SPROG.sprog 
FROM partner AS P 
    INNER JOIN land AS L 
    ON P.landid = L.landid 

    INNER JOIN partner_has_udd AS PUDD 
    ON P.partid = PUDD.partner_partid 

    INNER JOIN udd AS UDD 
     ON PUDD.udd_uddid = UDD.uddid 

    INNER JOIN partner_has_sprog AS PSPR 
    ON P.partid = PSPR.partner_partid 

    INNER JOIN sprog AS SPROG 
     ON PSPR.sprog_sprogid = SPROG.sprogid 
; 

而這裏的更新SQL小提琴:http://sqlfiddle.com/#!2/29990f/2/0

您的SQL小提琴的Scheme部分有一個拼寫錯誤,並且將partner_has_sprog值插入到sprog表中。

+0

這樣做有一些小的補充。 :) 謝謝! – user2991137

0

只是嗎?

select l.land_info 
from land l 
join partner p on p.land = l.land 
where p.landid = 2; 
相關問題