博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中没有join吗,mysql – SQL Join,包括表a中的行,表b中没有匹配项
阅读量:5146 次
发布时间:2019-06-13

本文共 699 字,大约阅读时间需要 2 分钟。

SELECT orders.* FROM orders JOIN order_rows

ON orders.id = order_rows.order_id

WHERE order_rows.quant <> order_rows.quant_fulfilled

GROUP BY orders.id

ORDER BY orders.id DESC

我需要这个包含没有相应order_row条目的行(这将是一个尚未包含任何项目的订单).似乎必须通过添加ON或WHERE子句来实现此目的吗?

在给定时间只会有几个空订单,所以如果对此的最佳答案会显着降低性能,我会使用单独的查询.但我希望将它们包含在此查询中,以便按order.id和其他查询对它们进行排序.只是不想将查询时间加倍,只包括没有项目的1-3个订单.

我正在使用MySQL.提前感谢任何建议.

解决方法:

只需使用LEFT JOIN而不是JOIN.您将获得所有订单行.

SELECT orders.* FROM orders LEFT JOIN order_rows

ON orders.id = order_rows.order_id

WHERE order_rows.quant IS NULL OR order_rows.quant <> order_rows.quant_fulfilled

GROUP BY orders.id

ORDER BY orders.id DESC

标签:sql,mysql,join,inner-join

来源: https://codeday.me/bug/20190725/1535456.html

转载地址:http://rtznv.baihongyu.com/

你可能感兴趣的文章
利用SignalR来同步更新Winfrom
查看>>
反射机制
查看>>
CocoaPod
查看>>
css3实现漂亮的按钮链接
查看>>
[python基础] python 2与python 3的区别,一个关于对象的未知的坑
查看>>
BZOJ 1251: 序列终结者 [splay]
查看>>
深度剖析post和get的区别
查看>>
云的世界
查看>>
初识DetNet:确定性网络的前世今生
查看>>
5G边缘网络虚拟化的利器:vCPE和SD-WAN
查看>>
MATLAB基础入门笔记
查看>>
【UVA】434-Matty&#39;s Blocks
查看>>
五、宽度优先搜索(BFS)
查看>>
运行一个窗体直接最大化并把窗体右上角的最大化最小化置灰
查看>>
Android开发技术周报 Issue#80
查看>>
hadoop2.2.0+hive-0.10.0完全分布式安装方法
查看>>
WebForm——IIS服务器、开发方式和简单基础
查看>>
小实验3:实现haproxy的增、删、查
查看>>
Angular中ngModel的$render的详解
查看>>
读《格局》| 未到年纪的真理
查看>>