【问题标题】:What is the query to join 4 tables连接4个表的查询是什么
【发布时间】:2021-04-23 09:21:38
【问题描述】:

我正在努力加入表格。

SELECT ordersId, usersName, productName, price, quantity,total
FROM orders o, users u, products p, orderdetail od
WHERE ....

表格是 用户表:

usersId(pk)|usersName|....

产品表:

productId(pk)|productName|price|...

订单表:

ordersId(pk)|date|usersId(fk)

订单详情表:

ordersId(fk)|productId(fk)|price|quantity|total

输出应该是 新表:

ordersId|usersName|productName|price|quantity|total

但问题是……输出是否可行?因为如果没有错误没有输出,我会不断收到错误。请帮忙

【问题讨论】:

  • 此时,与任何基本的介绍性书籍或教程在一起 5 分钟都会很有用

标签: php mysql sql join


【解决方案1】:

您需要在表之间找到共同的列,这样您才能将数据连接在一起。包含您想要的大部分数据的表将从 OrderDetails 派生,因此从那里开始,一次构建一个联接。

SELECT OD.OrdersID, U.UsersName, P.ProductName, OD.Price, OD.Quantity, OD.Total
FROM OrderDetails OD 
JOIN Orders O ON O.OrdersID = OD.OrdersID
JOIN Products P ON P. ProductID = OD.ProductID
JOIN Users U ON U.UsersID = O.UsersID

以下是工作代码示例: https://dbfiddle.uk/?rdbms=sqlserver_2019&fiddle=9565d9712e7d86b56ddf1656d3b3b914

请按照 Stack Overflow 指南在问题/答案中创建表格,下次更好地格式化您的问题。

【讨论】:

  • 非常感谢。我真的很感激。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多