【问题标题】:mysql: join two tables with two fields in common to get a third tablemysql:连接两个具有两个共同字段的表以获得第三个表
【发布时间】:2013-11-26 06:04:48
【问题描述】:

我需要一些使用 mysql 和 phpmyadmin 的帮助; 我有两个表有两个共同的列字段,我需要将两个表连接到第三个表中,每个表的这两个字段是共同的;参考表也是表 1,所以想法是第 3 个表实际上是表 1,表 2 的附加值将表 2 中的值 1 和值 2 添加到表 1 中,其中第 1 列和第 2 列是相同的表...例如:


表 1:
ID、列 1、列 2、值 1、值 2
1 ,   DAN   ,  Citi1 ,    1  ,   3
2 ,   JUAN   ,  Citi1 ,    5  ,   5
3 ,   DAN   ,  Citi2 ,    3  ,   7
4 ,   PEDRO ,  Citi1 ,    2  ,   4
5 ,   JUAN    ,  Citi2 ,    7  ,   9

表2:
ID、列 1、列 2、值 1、值 2
1 ,   DAN   ,  Citi1 ,    5  ,   0
2 ,   JUAN  ,  Citi1 ,    0  ,   3
3 ,   DAN    ,  Citi2 ,    4  ,   5
4 ,   胡安 ,  Citi2 ,    6  ,   8

表3、连接:

ID, t1/t2.Column1 , t1/t2.Column2, t1.Value1, t1.Value2, t2.Value1, t2.Value2

ID, t1.Column1, t1.Column2, t1.Value1, t1.Value2, t2.Value1, t2.Value2
1 ,   DAN     ,  Citi1         ,    1      ,   3         ,       5      ,       0
2 ,   JUAN    ,  Citi1         ,    5      ,   5         ,       0      ,       3
3 ,   DAN      ,  Citi2         ,    3     ,   7         ,       4      ,       5
4 ,   PEDRO   ,  Citi1      ,    2     ,   4         ,       0      ,       0
5,胡安,花旗,1,3,8,8

【问题讨论】:

    标签: mysql join phpmyadmin


    【解决方案1】:

    试试这个:

    SELECT t1.ID,
      t1.Column1,
      t1.Column2,
      t1.Value1,
      t1.Value2,
      COALESCE(t2.Value1, 0),
      COALESCE(t2.Value2, 0)
    FROM table1 t1
    LEFT JOIN table2 t2
      ON t1.ID = t2.ID
        AND t1.column1 = t2.column1
        AND t1.column2 = t2.column2
    

    sqlfiddle demo

    【讨论】:

    • 感谢您的快速回答@FilipeSilva,但这会将两个表与 t1 上的 ID 与表 2 上的 ID 相同的条件连接起来?我想要的是表 1 中的第 1 列和第 2 列与表 2 相等的连接...
    • @dhacohen。我没看到。我认为他们总是平等的。看看我编辑的答案是否解决了这个问题
    • 感谢 Filipe,我使用了您的查询,我认为它有效。它用作向我显示数据的选择,但是如何创建一个经常填充此数据的表?如果我在 phpmyadmin 中使用您的查询,它可以正常工作,但不会填充任何表格......我如何使用此查询来填充第三张表格?一个由其他两个的连接创建...
    • 只需使用包含所需列的表创建该表,然后执行:插入 NEWTABLE 选择...我的答案中的查询。让我知道它是否有效。
    猜你喜欢
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 1970-01-01
    • 2017-07-23
    • 2018-07-20
    • 1970-01-01
    相关资源
    最近更新 更多