Null
如果一行包含 > 0 的列且另一行為 NULL,則從表中返回 2 行
即使一行為空但另一行> 0,如何返回2行
item_id | location | quantity ------------------------------------- 14 | 1 | 10 14 | 2 | <null> 21 | 1 | <null> 21 | 2 | <null>
結果應返回:
item_id | location | quantity ------------------------------------- 14 | 1 | 10 14 | 2 | <null>
我需要一個帶有數量 > 0 的子句的查詢。如果數量在位置 1 和 2 上為空,則不返回,如果數量 > 0 在一個位置返回兩行。我有 10 個位置(1 到 10),我需要查看(1,2)中位置的數量。
select t1.* from the_table t1 where t1.location_id in (1,2) and exists (select * from the_table t2 where t1.item_id = t2.item_id and t2.quantity > 0 and t2.location_id in (1,2));
值的條件
t2.quantity > 0
為假null
,所以如果一個的所有數量item_id
都為假,則不返回相應的項目null``where