我有两个查询与两个相同的表相关(列名和所有内容都相同)
Query1: "SELECT * FROM Notifications ORDER BY SUBSTR(DATE('NOW'), 0)>SUBSTR(DateToNotify, 0), SUBSTR(DateToNotify, 0)";
Query2: "SELECT * FROM NotificationsCron ORDER BY SUBSTR(DATE('NOW'), 0)>SUBSTR(DateToNotify, 0), SUBSTR(DateToNotify, 0)";
如何将结果合并为一个游标?我想要一个连接而不是合并游标。
答案 0 :(得分:2)
使用UNION子句:
Query = "SELECT * FROM (SELECT * FROM Notifications UNION SELECT * FROM NotificationsCron) T ORDER BY SUBSTR(DATE('NOW'), 0)>SUBSTR(DateToNotify, 0), SUBSTR(DateToNotify, 0)";
请注意,这两个表必须具有相同的列 - 如果没有,则使用别名在查询本身内创建假列。
供参考:http://www.tutorialspoint.com/sqlite/sqlite_unions_clause.htm
答案 1 :(得分:2)
您应该从两个表的UNION中进行选择。请注意,如果您使用UNION
而不是UNION ALL
,则会从结果集中删除重复的记录。
SELECT * FROM
(SELECT * FROM Notifications
UNION ALL
SELECT * FROM NotificationsCron
) T
ORDER BY SUBSTR(DATE('NOW'), 0)>SUBSTR(DateToNotify, 0), SUBSTR(DateToNotify, 0)
答案 2 :(得分:1)
你可以使用UNION ALL Clause
EXP:
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]
UNION ALL
SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]