这有点棘手。 我需要从陆地中提取land_info中的值。但是我需要几个WHERE:partner.type ='Studie',land.land ='USA',sprog.sprog ='Engelsk',最后udd.udd ='Bygning' ...伙伴和sprog表是多对多关系...因此在中间有一个名为partner_has_sprog的表..与partner和udd = partner_has_udd相同...
我已经让这个sql小提琴了...... http://sqlfiddle.com/#!2/bdd7a4 ...基本上......我需要选择的是来自第二个合作伙伴的land.land_info(一个在美国)..任何帮助将不胜感激!
This is kind of tricky. I need to pull out values in land_info from land .. However I need several WHEREs: partner.type = 'Studie', land.land = 'USA', sprog.sprog = 'Engelsk' and lastly udd.udd = 'Bygning'... the partner and sprog tables are many to many relations.. and therefore have a table inbetween called partner_has_sprog .. the same with partner and udd = partner_has_udd...
I've made this sql fiddle with the tables.. http://sqlfiddle.com/#!2/bdd7a4 ... and basicly.. What I need to select, is the land.land_info from the 2nd partner (the one in USA) .. Any help would be greatly appreciated!
最满意答案
如果你只是想把所有表连接起来并不太困难,你只需要为每个表使用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 Fiddle的Scheme部分中输入了一个拼写错误,并将partner_has_sprog值插入到sprog表中。
If your just trying to link all the tables together it isn't too difficult, you just need to use an INNER JOIN for each:
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 ;And here's the updated SQL Fiddle: http://sqlfiddle.com/#!2/29990f/2/0
You had a typo in the Scheme section of your SQL Fiddle and were inserting the partner_has_sprog values into the sprog table.
更多推荐
发布评论