mysql - Mysql选择查询3个表
问题描述
我有 3 个表订单,order_option,product_option
命令
order_id | cus_name | cus_phone
-------------------------------
1 | Test-1 | 9876543211
2 | Test-2 | 9876543212
3 | Test-3 | 9876543213
4 | Test-4 | 9876543214
order_option
product_option_id | order_id
-------------------------------
11 | 1
12 | 1
13 | 2
14 | 4
15 | 3
产品选项
product_id | product_option_id | sku | qty
------------------------------------------
1 | 11 | TS01 | 3
2 | 12 | TS02 | 2
3 | 13 | TS033 | 3
4 | 14 | TS023 | 3
在这里,我想在字段上选择带有 where 条件的order
表和表值。product_option
sku
我尝试加入如下查询:
SELECT o.order_id, o.cus_name, o.cus_phone,po.sku,po.qty FROM order o
LEFT JOIN order_option op
ON (o.order_id = op.order_id)
LEFT JOIN product_option po
ON (op.product_option_id = po.product_option_id)
WHERE po.sku = "TS023"
但它没有显示正确的答案。我不知道我错过了什么。
解决方案
order
是保留字,使用反引号``。
SELECT o.order_id, o.cus_name, o.cus_phone, po.sku, po.qty
FROM `order` o
LEFT JOIN order_option op ON o.order_id = op.order_id
LEFT JOIN product_option po ON op.product_option_id = po.product_option_id
WHERE po.sku = "TS023"
输出:
order_id cus_name cus_phone sku qty
4 Test-4 9876543214 TS023 3
推荐阅读
- arrays - Swif4.0 以简单快捷的方式访问字典数组
- c# - Physics2D.OverlapBox 总是返回真
- javascript - 如何根据温度范围或天气条件显示图像
- javascript - Google Apps 脚本向 GSheets 插入日期,但更改为未定义
- reactjs - Gatsby:如何在构建时将数据传递给 React Context
- asp.net-core-2.2 - Microsoft.Extensions.DependencyInjection 错误
- r - 如何根据 R 中的循环删除所有行
- azure - 使用客户端 ID 和客户端密码以及图形 API 获取访问令牌以从 Azure 拉取用户组所需的范围
- ldap-query - 在 FreeIPA 服务器上测试组成员身份
- python - Pymongo在insert_many之后在原始数组中插入_id。如何避免插入_id?