sql - 从多个表中选择 MySQL 中的订单产品

标签 sql mysql

我有 3 个表:

  • orderProducts (orderId, productId, productValue),
  • 产品 (productId, productName)
  • (productIdproductValueproductValuePrice)。

我需要选择具有定义的 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/

相关文章:

sql - 对特定文本的唯一约束

sql - 优化计算账户余额的 SQL 查询

sql使用别名

sql - MySQL,SQL Select 语句,Where 与 OR...这有什么问题?

mysql - 将用户名和密码存储在数据库中是否安全?

php - MySQL向枚举添加字段

sql - 使用 ActiveRecord 将 300M 行数据集插入 PostgreSQL

sql - SQL Server中两个日期之间的月差

mysql - 构建多对多关系的连接表

mysql - 从另一个表中选择带有主键的数据?