【问题标题】:showing output from two tables but matching them via 3rd table显示两个表的输出,但通过第三个表匹配它们
【发布时间】:2013-08-26 01:08:36
【问题描述】:
假设我有三张桌子。第一张桌子得到了 wine_name 和 wine_id,第二张桌子得到了 wine_id、varie_id,第三张桌子得到了品种 ID 和品种名称。我只想显示带有品种名称的葡萄酒名称。我尝试了内部连接,但 cdnt 得到了结果,jst 得到了错误。有人可以建议我应该写什么。
【问题讨论】:
标签:
mysql
database
join
sqlcommand
【解决方案1】:
试试下面的代码
select table1.wine_name, table3.variety_name from table1 inner join
table2 on table1.wine_id = table2.wineid left
join table3 on table2.varieId = table3.varietyID
【解决方案2】:
你在找这个吗?
SELECT w.wine_name, v.variety_name
FROM wine_variety wv JOIN wines w
ON wv.wine_id = w.wine_id JOIN varieties v
ON wv.variety_id = v.variety_id
样本输出:
| WINE_NAME | VARIETY_NAME |
----------------------------
|酒 1 |品种 1 |
|酒 2 |品种2 |
这里是SQLFiddle演示