我正在使用我的 python 脚本查询一个 sqlite 数据库表。
SELECT servername,
date('now','localtime'),
sum(CASE WHEN locked="NO" THEN 1 END),
sum(CASE WHEN locked="YES" THEN 1 END)
FROM nodes
WHERE servername="SOME_SERVER"
它工作正常(给我服务器名称、今天的日期、未锁定节点的数量和锁定节点的数量)...
...除非查询不匹配(即没有提供的名称的服务器名称)。在这种情况下,查询结果是
空,“2013-04-15”,空,空
(为了清楚起见,我添加了空值)
某些服务器没有节点是有效的。如果我从查询中删除“案例”,我不会得到任何查询结果,所以当我不想要一个结果时,它们会导致我得到一个结果。
如何使它在 SQL 查询中不返回任何内容,而无需在 python 中检测它,或事先查询计数?