【问题标题】: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演示

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-15
      • 2019-10-04
      • 2013-01-10
      • 1970-01-01
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多