在AdventureWorks2012数据库中,我必须使用列出具有Sales.SalesPerson
和名称的所有Distinct产品的Sales.SalesOrderHeader
,Sales.SalesOrderDeatil
,Production.Product
和ProductID
表在领土5出售。
以下是我的回答。
SELECT DISTINCT
sod.ProductID,
p.Name
FROM
Sales.SalesPerson SP,
Sales.SalesOrderHeader SOH,
Sales.SalesOrderDetail SOD,
Production.Product P
WHERE
SP.BusinessEntityID = soh.SalesOrderID AND
soh.SalesOrderID = sod.SalesOrderID AND
sod.SalesOrderID = p.ProductID
查询执行成功,但0行受到影响。我做错了什么?
答案 0 :(得分:0)
sod.SalesOrderID = p.ProductID
我在猜这个,orderid = productid?可能是错误,也许你想要
sod.ProductID = p.ProductID
答案 1 :(得分:0)
SELECT DISTINCT
SOD.ProductID,
P.Name AS ProductName
FROM
Sales.SalesPerson SP,
Sales.SalesOrderHeader SOH,
Sales.SalesOrderDetail SOD,
Production.Product P
WHERE
SP.BusinessEntityID = SOH.BusinessEntityID AND
SOH.SalesOrderID = SOD.SalesOrderID AND
SOD.ProductID = P.ProductID AND
SOH.TerritoryID = 5;