次のような SQLite クエリがあります。
SELECT max(e), url, branch FROM (SELECT max(T1.entry) e, T1.url, T1.branch FROM repo_history T1
WHERE (SELECT active FROM repos T2 WHERE url = T1.url AND branch = T1.branch AND project = ?1)
GROUP BY T1.url, T1.branch
UNION
SELECT null, T3.url, T3.branch FROM repos T3 WHERE active AND project = ?1 )
GROUP BY url ORDER BY e
パラメータが 2 回出現することに注意して?1
ください。とにかく、場合によってはnullになる可能性があります(None
私が知る限り、PythonではNULL
SQLiteになります)。null の扱いがわからないので困っていますが、基本的に何も返ってきません。
では、NULL のwhere "project" = ?1
場合はどのように処理すればよいでしょうか。?1
2 つの別々のクエリを使用することは避けたいと思います。IS NULL
周りを見回しましたが、 /に関するものしか見つかりIS NOT NULL
ません。これは、列がnullかnullでないかを確認しようとしているのではなく、2つのnull許容値が一致するかどうかを確認しようとしているため、うまくいきません、それらがnullかnullでないか。