按日期时间从两个表中排序字段

时间:2012-11-25 09:42:45

标签: sql sql-server-2008 sql-order-by multiple-tables

我有两个表(IncomingDocs)和(OutgoingDocs)每个表都有一个名为SubmitDate(数据类型Datetime)和DepositNo的字段(数据类型{{ 1}}) 每个Int在一个表中可能有多个DeposotNo

Submitdate

我希望输出是特定DepositNo的记录(在WHERE子句中指定)并由Submitdate排序。

2 个答案:

答案 0 :(得分:3)

我不确定sql server是否支持union,但是这样的

Select DepositNo, SubmitDate from IncomingDocs where DepositNo = X
UNION
Select DepositNo, SubmitDate from OutgoingDocs where DepositNo = X
ORDER BY SubmitDate

应该可以工作。

答案 1 :(得分:3)

- 如果你需要保留每个表中的两行,你将需要'UNION ALL' - 碰巧重复

SELECT DepositNo, SubmitDate  
FROM (  
     SELECT DepositNo, SubmitDate  
     FROM OutgoingDocs  
     WHERE DepositNo = 1 --Or a variable @MyDepositNo  
     UNION ALL --this will preserve duplicate rows if there are any between the two tables  
     SELECT DepositNo, SubmitDate  
     FROM IncomingDocs  
     WHERE DepositNo = 1 --as above  
) TT  
ORDER BY TT.SubmitDate  
相关问题