我有3张桌子:
orderProducts
(orderId
,productId
,productValue
),products
(productId
,productName
)values
(productId
,productValue
,productValuePrice
)。我需要选择定义orderId
的订单产品(产品ID,名称,价值,价格)。
如何使用一个MySQL查询?
答案 0 :(得分:1)
您可以通过加入来完成此操作,例如:
Select o.orderId, p.productId, p.name, o.productValue, v.productValuePrice
From products p
Join values v on p.productId = v.productId
Join orderProducts o on p.productId = o.orderId
Where orderId = 5
答案 1 :(得分:1)
您可以使用left join
返回orderProducts
表中没有其他表中相应行的行。任何缺少的列都将为NULL,允许您标记错误条件。默认join
是inner join
,并且只返回两个连接表中具有匹配条目的行。
select op.product id, p.name, v.productValue, p.productValuePrice
from orderProducts op
left join products p on p.productId = op.productId
left join values v
on v.productId = op.productId
and v.productValue = op.productValue
where op.orderId = <YourOrderId>
答案 2 :(得分:0)
.......
select p.productId, p.productName, o.productValue, v.prodctValuePrice from orderProducts o join products p on o.productId = p.productId join values v on v.productId = p.productId where p.productId = 1