我需要做一个查询,从两个不同的表中进行选择。基本上,我只想从dates
表中选择orders
表中没有挂单的行。MySQL两个查询产生一个值
例如,dates
表具有7月1日的值,7月2日和7月3日7月2日与在orders
表status = PEN
订单所以该表将只显示7月1日和7月3日
查询1 dates
:
$sql = "SELECT * FROM dates WHERE DATEDIFF(CURDATE(), date) >= 30 AND `30day`='No'";
我还没有打造为orders
表的查询,因为我相信这需要被整合到一个查询在一起,我不知道该怎么做。
我知道你可以在一个做两个SELECT
查询,我知道如何做到这一点,但我不确定如何使第二SELECT
查询由第一SELECT
查询受到影响。
dates
数据库中的列id
date
closed
30day
60day
orders
数据库中的列id
date
order
status
我需要这个查询标志和状态PEN
BO
FBO
任何订单。
预先感谢您!
样本数据:
dates
表:
Date - 30-day Value
July 1 - No
July 2 - No
July 3 - No
orders
表:
Date - Orders - Status
July 1 - 7123456 - PEN
July 1 - 7123457 - SHI
July 1 - 7123487 - SHI
July 2 - 7256789 - SHI
July 2 - 7256790 - SHI
July 2 - 7256791 - SHI
July 3 - 7215368 - SHI
July 3 - 7125369 - SHI
July 3 - 7659876 - BO
July 4 - 7569235 - FBO
July 4 - 7986585 - FBO
预期结果:
Date
July 2
July 3
略日期:
Date - Reason
July 1 - because there is an open order
July 4 - because there is an open order
我不想要一个省略表 - 只是想表明什么也不会显示出来。
怎么样左连接行的样本?使用'group by','拥有count = 0' – Drew
请提供更多关于您的表的样子! (列名等) –
@ M.S。 - 更新。 –