对三个表进行连接查询
我有三张表 Orders、CustomerProductSizesOptions 和 ProductSizesOptions。
Orders:
| 订单ID | 姓氏 | 发货日期 |
|---|---|---|
| 45 | Jones | 01/01/2025 |
| 43 | Smith | 04/02/2025 |
CustomerProductSizesOptions:
| 订单ID | 产品选项尺寸ID | 客户产品尺寸选项ID |
|---|---|---|
| 45 | 216744 | 695746 |
| 43 | 225622 | 690056 |
| 43 | 209876 | 654345 |
ProductSizesOptions:
| 产品选项尺寸ID | 产品选项ID |
|---|---|
| 216744 | 1627 |
| 225622 | 3456 |
我们有一个订单数据库,我想查询一个 ProductOptionID,并在该订单拥有特定的 ProductOptionID 时返回 OrderIDs、Surname 和 DeliveryDate。例如,ProductOptionID = 1627。
我在让连接(JOIN)工作方面遇到了困难,谁能帮忙吗?我知道可以在 SELECT 之后使用DISTINCT,只返回每个订单ID的一个实例,这会很有用。
解决方案
你没有提到你使用的SQL引擎,但在任何引擎上都应该能工作。
SQL:
SELECT o.OrderID,
o.Surname,
o.DeliveryDate
FROM ProductSizesOptions p
JOIN CustomerProductSizesOptions c ON p.ProductOptionSizeID = c.ProductOptionSizeID
JOIN Orders o ON c.OrderID = o.OrderID
WHERE ProductOptionID = 1627
输出:
┌─────────┬─────────┬──────────────┐
│ OrderID │ SurName │ DeliveryDate │
│ int32 │ varchar │ date │
├─────────┼─────────┼──────────────┤
│ 45 │ Jones │ 2025-01-01 │
└─────────┴─────────┴──────────────┘
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。