【问题标题】:How do i join 3 tables in mysql? [closed]我如何在mysql中加入3个表? [关闭]
【发布时间】:2014-10-14 02:04:57
【问题描述】:

项目(Item_Id、Item_Name、Category 等)

item_details(Item_Details_Id、Item_Id、Item_Name、Image_path、Price)

item_addon(Item_Addon_Id、Item_Name、Category...)

item_detail_addon(Item_Detail_Addon_Id、Item_Details_Id、Item_Addon_Id)

如何将 item_details 加入 item_addon?

请注意,我是 sql 新手。我们将不胜感激您的帮助

【问题讨论】:

  • 请搜索。此信息广泛可用。
  • 谷歌搜索 MySQL JOIN 3 表应该会给你很好的点击(在 Stack 和其他方面);那么你至少可以尝试一些事情,让我们知道你在哪里卡住或没有得到预期的结果。
  • 感谢 SELECT * from Item_detail_addon a Inner join Item_details b on a.Item_Details_Id = b.Item_Details_Id Inner join Item_addon c on a.Item_Addon_Id = c.Item_Addon_Id 我想不通,这就是我在这里的原因

标签: php mysql sql select inner-join


【解决方案1】:

解决方案是加入您已经确定的常用字段:

SELECT item_details.*
FROM item_details
JOIN item_detail_addon USING(Item_Details_Id)
JOIN item_addon USING(Item_Addon_Id)

如果一个表上的某些字段与另一个表上的字段具有相同的名称,您可以通过使用别名来获取两者:

SELECT table1.field1 as table1_field1
     , table2.field1 as table2_field1
     [ .. and so on .. ]

【讨论】:

  • 谢谢你,Matteo,但是,我没有得到所有的字段,因为表中的某些字段名称是相同的
  • 查看我的编辑以了解如何操作!
  • 感谢您的帮助 Matteo SELECT * from Item_detail_addon a Inner join Item_details b on a.Item_Details_Id = b.Item_Details_Id Inner join Item_addon c on a.Item_Addon_Id = c.Item_Addon_Id
【解决方案2】:

Inner Join 是你最好的选择

    select *
    from
        tableA a
            inner join
        tableB b
            on a.common = b.common
            inner join 
        TableC c
            on b.common = c.common

【讨论】:

    猜你喜欢
    • 2013-08-29
    • 2013-06-19
    • 2014-01-03
    • 2013-12-01
    • 2020-10-24
    • 2012-01-14
    • 1970-01-01
    • 2012-07-21
    相关资源
    最近更新 更多