mysql:连接两个共同使用两个字段的表来获取第三个表

时间:2014-10-29 11:53:18

标签: php mysql sql-server database join

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

    table1:
    ID, Column1, Column2, Value1, Value2
    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

    table2:
    ID, Column1, Column2, Value1, Value2
    1 ,   DAN   ,  Citi1 ,    5  ,   0
    2 ,   JUAN  ,  Citi1 ,    0  ,   3
    3 ,   DAN    ,  Citi2 ,    4  ,   5
    4 ,   JUAN  ,  Citi2 ,    6  ,   8



    table 3, join:

    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 ,   JUAN        ,  Citi2           ,    1        ,   3          ,       6       ,       8

1 个答案:

答案 0 :(得分:0)

我建议您阅读有关SQL JOIN的一些信息。 Here是一些很好的例子。

这是您可能正在寻找的格式:

SELECT TableA.*, TableB.*, TableC.*, TableD.*
FROM TableA
    JOIN TableB
        ON TableB.aID = TableA.aID
    JOIN TableC
        ON TableC.cID = TableB.cID
    JOIN TableD
        ON TableD.dID = TableA.dID

另外,请查看this帖子以获取示例和信息。

对于插入,您可以执行以下操作:

INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers
WHERE Country='Germany';