SQLite:加入两个select语句

时间:2014-11-20 10:42:22

标签: sql sqlite

我有两个select语句,我正在寻找一种方法将它们合并为一个。感谢您提供任何帮助和建议。

Original:
1
2
3
4
5
6

Sql:
Select * From (Select * From tbl1 Where Id < 4 Order By Id Desc Limit 1) Order By Id;
Select * From tbl1 Where Id >= 4 Order By Id;

Result:
3
4
5
6

2 个答案:

答案 0 :(得分:2)

使用它的重点是什么:

Select * From (Select * From tbl1 Where Id < 4 Order By Id Desc Limit 1) Order By Id;

这还不够吗?:

Select * From tbl1 Where Id < 4 Order By Id Desc Limit 1

无论如何,您可以使用SQL UNION来实现此目的。

(SELECT * FROM tbl1 WHERE Id < 4 ORDER BY Id DESC LIMIT 1)
UNION
(SELECT * FROM tbl1 WHERE Id >= 4 ORDER BY Id ASC)
ORDER BY Id

您的第一个查询可以视为整个表格。同样,您的第二个查询可以被视为另一个表。

然后,使用SQL运算符UNION,您可以获得一个合并的结果集,并加入这两个表格。

有关详情,请浏览以下链接: http://www.w3schools.com/sql/sql_union.asp

答案 1 :(得分:1)

您似乎可以使用UNION SELECT

Select * From (Select * From tbl1 Where Id < 4 Order By Id Desc Limit 1)
UNION Select * From tbl1 Where Id >= 4
Order By Id;

仅当两个语句的结果具有相同的列数和类型时才有效。