如何从SqlDataSource asp.net中的多个表中进行选择

时间:2013-09-14 09:48:56

标签: c# asp.net sql select sqldatasource

我有一个网页,它将从三个表中加载数据 有没有办法使用Sqldatasource一次加载所有数据,还是我必须在编码中加载?

我也想对它进行排序。但我知道该怎么做。并且所有数据都进入gridview,这就是为什么我只想使用一个Sqldatasource。

这是我到目前为止所做的:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ 
ConnectionStrings:testpicsConnectionString %>" SelectCommand="SELECT * FROM [tball]
select * from tb1
select * from tb2"></asp:SqlDataSource>

我只是添加

sort id desc

给他们所有人?

我只是想知道可以用一个Sqldatasource来完成吗?

不过,我正在使用c#和sql(很明显)

抱歉忘了从表中添加架构

所有表格都相同:它们有id,desc和pic

id int primary key identity not null,
[desc] varchar(max) null,
pic varbinary(max) null

用于所有表。 所以,如果我必须加入,我会加入哪里或什么?

3 个答案:

答案 0 :(得分:4)

您可以使用UNION从不同的表中选择列...

select * from tb1
union all 
select * from tb2
union all
select * from tb3
order by id desc;

union all - 将显示结果中的所有记录 union - 将从结果中删除重复记录。

Union all将提供更好的性能,因为数据库引擎不会有任何管理结果的开销来删除重复项。

答案 1 :(得分:1)

您还可以在数据库中创建一个视图,该视图将收集您需要的所有数据,然后在您的c#应用程序中进行查询。

答案 2 :(得分:0)

Go here: Union

从Table1中选择* 联合所有 从表2中选择* 按1排序