【发布时间】:2017-12-18 03:59:02
【问题描述】:
目前在使用 SQLite3 时遇到问题
SELECT item_id, SUM(qoh), MIN(price), MAX(price), item_size
FROM inventory
WHERE item_size IS NULL OR item_size = 'S';
上述查询不起作用,因为它只会返回 NULL 值而不是 S。
SELECT item_id, SUM(qoh), MIN(price), MAX(price), item_size
FROM inventory
WHERE item_size = 'S'
上面显然返回S
SELECT item_id, SUM(qoh), MIN(price), MAX(price), item_size
FROM inventory
WHERE item_size = 'S'OR item_size IS NULL;
以上只返回NULL 值
我正在尝试完成下面的等效操作,
SELECT item_id, SUM(qoh), MIN(price), MAX(price), item_size
FROM inventory
WHERE item_size IS NULL;
SELECT item_id, SUM(qoh), MIN(price), MAX(price), item_size
FROM inventory
WHERE item_size = 'S';
但在一个命令中,
由于WHERE column IS NULL OR column = 'value' 的性质,只返回NULL 或'value',因为null 的性质会影响算法,
是否有任何 SQL 法律允许我绕过 WHERE item_size IS NULL OR item_size = 'S'; 从根本上不起作用?
【问题讨论】: