返回行我需要從一個表,其中的ID可能不存在得到ID列表和相應的領域。例如,表如下所示:當許多條件之一不滿足
id | status
-------------
1234 | A
4567 | B
1020 | C
我想從行狀態與id=4567
和id=7777
,像這樣:
Result:
id | status
-------------
4567 | B
7777 |
由於沒有使用id = 7777它應該顯示沒有記錄一個空的狀態字段。
我迄今爲止:我可以得到一個空行,當有與DUAL
加入結果對於任何ID匹配的任何記錄。例如:
SELECT id, status FROM DUAL LEFT OUTER JOIN mytable ON id='7777'
給出一個空行的結果:
id | status
-------------
|
但是,增加的有效ID的狀態只返回一個行:
SELECT id, status FROM mytable WHERE (id='7777' OR id='4567')
id | status
-------------
4567 | B
我怎樣才能使查詢返回一個包含所請求的ID的行,即使它沒有記錄?
我無法理解你的桌子......什麼是DUAL? –
@Adam:http://en.wikipedia.org/wiki/DUAL_table – Quassnoi
@Adam:DUAL是Oracle在不想使用表格時使用的虛擬表格。例如SELECT 1 FROM DUAL。 – CristiC