mysql - 在 SQL 子查询中包含空值
问题描述
我必须列出发货延迟最长的订单的发货城市和州。
我可以这样做:
SELECT shipcity, shipstate
FROM orders
WHERE shipdate - orderdate = (SELECT MAX(shipdate - orderdate) FROM orders);
但是我怎样才能包括尚未发货的订单,所以shipdate val 为NULL?
我努力了
SELECT shipcity, shipstate
FROM orders
WHERE (shipdate IS NULL)
OR (shipdate - orderdate = (SELECT MAX(shipdate - orderdate) FROM orders));
但这会返回所有订单,而不仅仅是延迟时间最长的订单。
解决方案
尝试这个
SELECT shipcity, shipstate
FROM orders
WHERE (shipdate - orderdate = (SELECT MAX(shipdate - orderdate) FROM orders))
OR (shipdate IS NULL and orderdate is NOT NULL )
推荐阅读
- mysql - 从 R 连接到 MySQL
- python - Python字典删除点
- c# - 问题获取事件完整日历 asp.net / c#
- java - 可观察到的并发修改异常
- android - 在项目中使用多个交互器
- javascript - 如何使代码异步?
- node.js - clearCookie() 不工作 - node express js
- visual-studio - Luamacros & Stream Deck/macropads 在 Visual Studio 中不工作
- python - 将python日期列表传递给sql查询where子句
- android - 如何在 Flutter 中从意图加载图像?