php - 在 mySQL 上连接 3 个表

标签 php mysql sql database join

美好的一天。

我知道这个问题已经被问过,但我很难实现我的问题。

我想加入 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/

相关文章:

mysql - 使用聚合函数时从 hibernate 中的多个表中选择列

php - 如何使用mysql中的数据创建树形菜单?

php - 如何使用 jquery 或 PHP 在 Html 中动态添加评论并且该评论不可删除?

javascript - jQuery 选项卡 : how to create a link to a specific tab

php - TYPO3 扩展库 : setDefaultOrderings in Controller

php - Yii 形式 : Uploading multiple files at once?

php - 非静态方法 PDO::quote() 不能静态调用,

php - 选择具有三个级别的评论

mysql - 使用group_concat后如何计算以 ','分隔的列的长度

PHP MySQL !=/w 值列表