我有一个网页,它将从三个表中加载数据 有没有办法使用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
用于所有表。 所以,如果我必须加入,我会加入哪里或什么?
答案 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)
从Table1中选择* 联合所有 从表2中选择* 按1排序