我有 3 个表:
orderProducts
(orderId
,productId
,productValue
),产品
(productId
,productName
)值
(productId
、productValue
、productValuePrice
)。
我需要选择具有定义的 orderId
的订单产品(产品 ID、名称、值(value)、价格)。
如何用一个 MySQL 查询做到这一点?
最佳答案
您可以使用 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>
关于sql - 从多个表中选择 MySQL 中的订单产品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2305936/