我正在尝试使用SQL从我的数据库中获取结果,但我无法正确查询。
以上是我数据库中的实体描述,我想获取产品价格,数量以及与之相关的部件的信息。 ProductParts表是Product和Part之间的链接表。
以下是ProductParts表中的值以及我想要的结果。我尝试过使用交叉连接,但我似乎无法理解它,我一直得到这样的结果(如下)
我目前正在使用此查询
SELECT
Product.Price,
Product.Quantity,
kit_name.PartID as "Kit Name",
blank_name.PartID as "Blank Name"
FROM Product
CROSS JOIN ProductParts as kit_name
CROSS JOIN ProductParts as blank_name
WHERE Product.ProductID = 3
AND Product.ProductID = kit_name.ProductID
AND Product.ProductID = blank_name.ProductID
这是我回来的结果
答案 0 :(得分:0)
试试这个:
SELECT
Product.Price,
Product.Quantity,
p.PartID AS PartID,
FROM Product
INNER JOIN ProductParts as pp
ON pp.ProductId=Product.ProductId
INNER JOIN Parts as p
ON p.PartId=pp.PartId
WHERE Product.ProductID = 3
答案 1 :(得分:0)
ProductPart
,Product
和Part
之间的简单内部联接可行:
SELECT
prod.Price,
prod.Quantity,
prod.ProductId as "Kit Name",
part.PartID as "Blank Name"
FROM ProductParts pp
JOIN Product as prod
on pp.ProductId = prod.ProductId
JOIN Parts part
on pp.PartId = part.PartId
WHERE pp.ProductID = 3