SQL Server 2008中因项目需要,用一条SQL语顺筛选出两个同构表中的前4条符合条件的记录
首先想到了Union All对两个表联合查询,但查出来结果怎么做到只取4条呢?
走了不少弯路,最后发现挺简单的,如下:
SELECT TOP 4 * FROM (SELECT 1 AS [No], Name FROM TABLE1 UNION ALL SELECT 2 AS [No], Name FROM TABLE2) A;
关键就在于要为作为子查询的联合查询取一个别名
SQL Server 2008中因项目需要,用一条SQL语顺筛选出两个同构表中的前4条符合条件的记录
首先想到了Union All对两个表联合查询,但查出来结果怎么做到只取4条呢?
走了不少弯路,最后发现挺简单的,如下:
SELECT TOP 4 * FROM (SELECT 1 AS [No], Name FROM TABLE1 UNION ALL SELECT 2 AS [No], Name FROM TABLE2) A;