什么都没找到,如何返回别的东西?

时间:2016-04-24 06:44:13

标签: sqlite

我当前的查询:

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并不是很了解。

1 个答案:

答案 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');