mysql - 基于匹配值添加列的查询
问题描述
我有两张桌子:钥匙和订单
在键表中,我只有订单 ID ,但我需要订单表上提供的更多详细信息,如电子邮件、姓名等。
如何将具有匹配订单 ID的键附加到另一个表?
键表
Key Order ID
----- --------
1234 0001
1235 0001
1532 0002
1602 0003
1802 0004
订单表
Email Order ID
----- --------
email1@example.com 0001
email1@example.com 0001
email2@example.com 0002
email3@example.com 0003
email4@example.com 0004
要求的结果:
Email Order ID Key
----- -------- -------
email1@example.com 0001 1234
email1@example.com 0001 1235
email2@example.com 0002 1532
email3@example.com 0003 1602
email4@example.com 0004 1802
解决方案
一个简单join
的应该做的伎俩:
SELECT `email`, o.`order_id`, `key`
FROM `orders` o
JOIN `keys k ON o.`order_id` = k.`order_id`
如果可能有一个没有键的订单,你应该使用left join
而不是join
.
推荐阅读
- angular - Angular - 如何在下一个按钮上验证 Angular 材质
- .net - Ocelot 上游路径需要文件名
- python - 405 方法不允许,Django + ngrok,仅在我的本地机器上
- c# - (Monogame)Visual Studio 与它交互时滞后
- c++ - C++程序:在Ubuntu 16.04中通过VS Code读取文件和写入文件找不到文件路径
- python - 在 Tensorflow 中,如何将具有 3 个通道的图像传递给卷积神经网络?
- r - R中basicTrendline包的功率回归
- swift - Swift:嵌入在导航控制器中的视图之间的自定义segue
- amazon-web-services - 是否可以使用 Amazon Cognito 组来设置对 AW 资源(例如 Amazon DynamoDB 和 Amazon S3)的权限?
- json-ld - 如何压缩和/或构建 json-ld 文档,以便 IRI 值和键一样简洁地表达?