读书人

SQL SERVER 2005 ORDER BY和UNION的有

发布时间: 2012-10-18 13:46:56 作者: rapoo

SQL SERVER 2005 ORDER BY和UNION的问题
有两个TABLE
TABLE_A (A列,日期A)
TABLE_B (B列,日期B)

我从两个TABLE各取出一条最新的数据

SELECT TOP 1 * FROM TABLE_A WHERE ORDER BY 日期A;
SELECT TOP 1 * FROM TABLE_B WHERE ORDER BY 日期B;

我想把两条数据用一个结果表示出来
SELECT TOP 1 * FROM TABLE_A WHERE ORDER BY 日期A
UNION
SELECT TOP 1 * FROM TABLE_B WHERE ORDER BY 日期B;

但是出现了错误,我想问题一下要怎样才能解决。

注:下面的这种方法不能用。
SELECT * FROM (SELECT TOP 1 * FROM TABLE_A WHERE ORDER BY 日期A) AS TR1
UNION
SELECT * FROM (SELECT TOP 1 * FROM TABLE_B WHERE ORDER BY 日期B) AS TR2;
请高手指点,谢谢了

[解决办法]
要加上 all吧

SQL code
SELECT * FROM (SELECT TOP 1 * FROM TABLE_A WHERE ORDER BY 日期A) AS TR1 UNION allSELECT * FROM (SELECT TOP 1 * FROM TABLE_B WHERE ORDER BY 日期B) AS TR2;
[解决办法]
注:下面的这种方法不能用。
SQL code
SELECT * FROM (SELECT TOP 1 * FROM TABLE_A WHERE ORDER BY 日期A) AS TR1UNIONSELECT * FROM (SELECT TOP 1 * FROM TABLE_B WHERE ORDER BY 日期B) AS TR2;
[解决办法]
当然不能用了,ORDER BY 语句前面多了个"WHERE"
[解决办法]
楼主在忽悠人?
[解决办法]
SQL code
--TRYSELECT TOP 1 * into #t1 FROM TABLE_A WHERE ORDER BY 日期A; SELECT TOP 1 * into #t2 FROM TABLE_B WHERE ORDER BY 日期B;goselect * from #t1union allselect * from #t2drop table #t1drop table #t2 

读书人网 >SQL Server

热点推荐