這工作我所期望的方式不是(c是一個光標)蟒蛇+ sqlite3的:使用連接查詢
c.execute('''SELECT e1.file, e1.sourceUrl, e1.rev
FROM externals1 AS e1
LEFT JOIN externals as e0
ON (e1.file = e0.file)
AND (e1.rev <> e0.rev)
''')
,但我在這裏得到一個錯誤:
c.execute('''SELECT e1.file, e1.sourceUrl, e1.rev
FROM externals1 AS e1
LEFT JOIN externals as e0
ON (e1.file = e0.file)
AND (e1.rev IS NOT e0.rev)
''')
與消息
sqlite3.OperationalError: near "e0": syntax error
發生了什麼事?我想處理e0.rev爲NULL的情況。
注意(至於爲什麼這個語法是有效的):結構是'operand IS NULL'和'operand不是NULL「。但是,這與查詢#1不一樣? – 2011-03-02 19:44:38
@pst:我不確定你在問什麼。 'IS NULL/IS NOT NULL'與OP的第一個查詢中的'<>'不一樣。我將添加一個關於NULL的操作數的解釋。 – 2011-03-02 19:54:47
@Ken White我對這個問題感到困惑 - 我不確定操作員在尋找什麼,但是這個答案已被接受,所以一定是需要的:P – 2011-03-02 20:21:49