我当前的查询:
x = randn(n, 1);
这很好用......除非数据库中不存在这些值。
如果数据库中不存在值,那么它应select timestamp from messagesTable
where partner_jid='" + lastUserJid + "' AND msg='.roll'
order by timestamp DESC LIMIT 1 OFFSET 1;
或尽可能不执行任何操作。
有没有办法在同一个查询中添加检查?不幸的是,它必须是同一个查询,因为我需要通过adb shell执行。我一直在尝试使用CASE,但我对SQL并不是很了解。
答案 0 :(得分:1)
你可以添加第二个查询,使用WHERE过滤器检查第一个查询是否没有返回任何内容:
SELECT *
FROM (SELECT timestamp
FROM messagesTable
WHERE partner_jid = ?
AND msg = '.roll'
ORDER BY timestamp DESC
LIMIT 1 OFFSET 1)
UNION ALL
SELECT -1 -- or "timestamp FROM msgTab", or whatever
WHERE NOT EXISTS (SELECT timestamp
FROM messagesTable
WHERE partner_jid = ?
AND msg = '.roll');