0
我試圖根據另一個表中的數據從一個表中選擇數據。我的代碼如下:Update SQLite table based on data in another table根據另一個表中的匹配值從一個表中選擇數據
但我無法讓它產生我期待的結果。我的發言如下:
c.execute("SELECT item1, item2, item3 FROM TableA WHERE xyz IS NULL AND item1 = (SELECT item1 FROM TableB) AND item2 = (SELECT item2 FROM TableB) AND item3 = (SELECT item3 FROM TableB)"
我試圖選擇表A,所有匹配的結果,其中項目1,項目2,&項目3 TableB中的比賽與在表A +,其中表A的XYZ值爲NULL。
*TableA*
item1 | item2 | item3 | xyz
banana | apple | pear | NULL
carrot | potato | sausage | 1
cat | dog | bird | NULL
fish | squid | tortoise | 4
*TableB*
item1 | item2 | item3
banana | apple | pear
cat | dog | bird
fish | squid | tortoise
foo | bar | deadbeef
所以,我想選擇:
banana, apple, pear
cat, dog, bird
但是我的語句只返回從tableB的第一場比賽:
即banana, apple, pear
;並且不繼續搜索來自表B的其餘項目。
爲什麼會發生這種情況並且能夠解決問題?
輝煌,謝謝你(也爲鏈接和建議)。兩個例子都有效,但我想我會聽從你的建議並堅持第一! – Soap 2014-09-01 16:15:14