我试图找到产品属于产品类别的数据库中的所有订单 . 但该类别存储在Orderline表中 .
我的表格结构大致如下:
Order Table
ID
Date
OrderLine Table
ID
Product_ID
ProductCategory_ID
Quantity
Product Category Table
ID
Name
我的sql看起来像:
Select
o.Id,
o.Date,
pf.Name,
From Order o
JOIN OrderLine ol on o.Id = ol.Order_Id
JOIN ProductCategory pc on ol.ProductCategory_Id = pc.Id
WHERE
pc.ID in ('1000','1001', '1002')
但是当订单具有属于同一类别的多个订单行时,每个订单会遭受多行影响 . 由于我只想要一个摘要,我只想要每个订单一行 .
2 回答
使用DISTINCT子句:
这将确保仅返回不同的行(不同的行) .
您的SELECT子句中似乎也有语法错误(您的意思是
pc.Name
而不是pf.Name
?) .使用GROUP BY语句使用指定的列将多个行组合在一起 .