2014-04-11 59 views
0

我有一份聲明中,像這樣:SQLite的陳述邏輯

transaction.executeSql('SELECT item1, item2 FROM table WHERE ...) 

是有可能做一些這樣的:

  1. 如果ITEM1不爲空和ITEM2爲空,只能選擇物品1
  2. 如果item1爲空且item2不爲null,則僅選擇item2
  3. 如果item1和item2爲null,請不要選擇其中任一個
  4. 如果item1和item2不爲空,請選擇它們兩個

有沒有辦法在一個SELECT語句中滿足所有這四個條件?我一直在想它,但我覺得我必須做兩個單獨的SELECT語句。我試圖找出如何用AND和OR來做,但沒有運氣。這主要是爲了個人興趣,因爲我可以單獨做,但我會很感激任何人的幫助。

+0

無需兩個查詢兩種方式。只需選擇這兩個字段並在之後過濾掉null。 –

回答

0

SELECT查詢必須返回列固定數量的,所以要做到這一點的唯一方法是使用單個列,並返回不同數量的記錄:

SELECT item1 FROM MyTable WHERE item1 IS NOT NULL AND ... 
AND 
SELECT item2 FROM MyTable WHERE item2 IS NOT NULL AND ... 
+0

啊,這很有道理,謝謝! – Mohd