多个查询来填充一个DataTable

时间:2013-07-30 09:33:41

标签: c# sql sql-server sql-server-2005 datatable

我目前有12个相当简单的SQL查询,用于提取符合不同条件的数据,以创建状态页面,以显示收到的支持电子邮件的优先顺序。

但是,我需要做的是使用一个显示以下内容的DataTable:

Col1  |  Col2  |  Col3  |  Col4
     Data from SQL Query 1
....  |  ....  |  ....  |  ....
....  |  ....  |  ....  |  ....
     Data from SQL Query 2
....  |  ....  |  ....  |  ....
....  |  ....  |  ....  |  ....
     Data from SQL Query 3
....  |  ....  |  ....  |  ....
....  |  ....  |  ....  |  ....
              etc

因此,每个查询都会运行,然后在上一个查询之后将其数据添加到数据表中(不进行排序,并按照每个SQL查询返回的顺序添加所有行)。

我已尝试使用SQL UNION语句将所有SQL查询组合在一起,但返回的结果将按所有行的ID排序,这不是我想要的。

1 个答案:

答案 0 :(得分:3)

除了您明确指定的数据之外,数据没有任何ORDER。如果您想以特定方式订购数据,请将其添加到您的查询中。

如果您想首先查询查询1中的行,则添加一个额外的列,指示您的查询

 select 1 as priority, field1, field2 from ...
 union
 select 2 as priority, field1, field2 from ...
 order by priority