sql - 在一个查询中加入 2 个选择
问题描述
如何在一个查询中加入这 2 个选择?
SELECT st.tracking_id FROM sale_order_line_tracking AS st, sale_order_line AS sol
WHERE st.order_line_id = sol.id
AND sol.id in %s;
SELECT rsolp.pack_id from rp_sale_order_line_pack AS rsolp, sale_order_line AS sol
WHERE rsolp.sale_line_id = sol.id
AND sol.id in %s;
解决方案
如果要合并来自两个不同查询的两个结果,可以使用UNION
语法:
SELECT st.tracking_id FROM sale_order_line_tracking AS st, sale_order_line AS sol
WHERE st.order_line_id = sol.id
AND sol.id in %s
UNION
SELECT rsolp.pack_id from rp_sale_order_line_pack AS rsolp, sale_order_line AS sol
WHERE rsolp.sale_line_id = sol.id
AND sol.id in %s;
这将返回一个结果表,但您的查询彼此过于相似,因此更好的选择是JOIN
推荐阅读
- c++ - 内部类定义的模板类的继承给出错误
- wordpress - redirect site excluding wp-admin when redirecting each page with individual 301's
- angular - 用 ngModel 数据填充primeng表
- openedge - 对于浏览器内临时表中的复选框,我应该预见到哪个分析暂停?
- php - 搜索多个单词 PHP mysqli
- python - 在 NumPy 中创建填充矩形的最有效方法
- git - 在 Jenkins 作业中更新子模块 repo
- python - 如何将垂直字符串转换为水平字符串?
- node.js - 猫鼬 | 填充一个集合的引用文档数组,该集合也是另一个集合的嵌入式集合
- scala - 根据 Spark 中的其他列值更新列中的值