美好的一天。
我知道这个问题已经被问过,但我很难实现我的问题。
我想加入 3 张 table 。我的表格如下所示:
Order_Header(Order_Header_ID{PK}, Order_Date, Order_Time, Order_Complete)
Order_Line(Order_Line_ID{PK}, Product_ID{FK}, Order_Header_ID{FK},Quantity)
Products(Product_ID{PK}, Description, Cost)
我想要联接这三个表,以便在一个表中显示三个表中的 Order_Header_ID、数量和说明(WHERE Order_Complete = 'YES')。 我有以下 SQL 显示所有信息但不加入它们。
SELECT
Order_Header.Order_Header_ID,
Products.Description,
Order_Line.Quantity
FROM Order_Header, Products, Order_Line
WHERE Order_Complete = 'yes'
其想法是,它仅列出一次 Order_Header_ID 以及相应的描述和数量一次。
提前谢谢
最佳答案
您当前的查询缺少连接条件。此外,最好使用显式连接语法。为了纠正这两件事,我们可以编写以下查询:
SELECT
oh.Order_Header_ID,
p.Description,
ol.Quantity
FROM Order_Header oh
INNER JOIN Order_Line ol
ON oh.Order_Header_ID = ol.Order_Header_ID
INNER JOIN Products p
ON ol.Product_ID = p.Product_ID
WHERE
oh.Order_Complete = 'yes'
关于php - 在 mySQL 上连接 3 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46875754/