有两个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