简体   繁体   English

在 1 个 mySQL 查询中使用 2 个 INNER JOINS 的问题

[英]Issue with using 2 INNER JOINS within 1 mySQL Query

I have the following query that is doing an INNER JOIN within a select query to insert records into the table.我有以下查询在 select 查询中执行INNER JOIN以将记录插入表中。 The issue is instead of using the WHERE clause and listing the 3 t2.device I would like to see, I need to do another INNER JOIN with a table called tbl_Full_List.问题不是使用 WHERE 子句并列出我希望看到的 3 个 t2.device,而是需要使用名为 tbl_Full_List 的表执行另一个 INNER JOIN。

Both tbl_Full_List and tbl1_device have a column called device so instead of the WHERE clause I would like it to show only devices that match in both tbl_Full_List and tbl1_device tbl_Full_List and tbl1_device都有一个名为 device 的列,因此我希望它只显示在tbl_Full_List and tbl1_device中都匹配的设备,而不是 WHERE 子句

INSERT INTO TEMP_Table1 (place, device, description, quantity)
            (SELECT t1.place, t2.device, t2.description, Sum(t2.quantity) AS quantity
            FROM Device_Table AS t1
            INNER JOIN tbl1_device AS t2
            ON t1.rma = t2.rma
            WHERE t2.device IN ('PRT1030', 'PRT-23','PRT-20139')
            AND t1.date_made = Current_Date()
            GROUP BY t1.place, t2.device, t2.description ORDER BY place ASC, device ASC )

Without knowing how the two relate... I'm assuming FL.ID is the PK of full list and we have a Foreign Key to tbl1_devcice called FL_ID不知道两者之间的关系......我假设 FL.ID 是完整列表的 PK,我们有一个 tbl1_devcice 的外键,称为 FL_ID

INSERT INTO TEMP_Table1 (place, device, description, quantity)
(SELECT t1.place, t2.device, t2.description, Sum(t2.quantity) AS quantity
 FROM Device_Table AS t1
 INNER JOIN tbl1_device AS t2
    ON t1.rma = t2.rma
 INNER JOIN tbl_Full_List FL
    ON FL.Device = t2.Device
 WHERE t1.date_made = Current_Date()
 GROUP BY t1.place, t2.device, t2.description ORDER BY place ASC, device ASC ) 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM