关于网友提出的“aspnet aspnet 将2个表不同记录放在一个gridview 中”问题疑问,本网通过在网上对“aspnet aspnet 将2个表不同记录放在一个gridview 中”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题:aspnet aspnet 将2个表不同记录放在一个gridview 中描述:
MS SQL
希望效果是
select * from changeroll where changeroll.rollid="588"
and
select * from wear where wear.rollid="588"
的记录放在一个GRIDVIEW 中
问题是changeroll,wear表中rollid 不是关键字。2个表中都存在同一个rollid多条记录的情况
我希望查询时,将某一个rollid的changeroll显示在gridview左边,右边填入wear该记录的值
如果用select * from changeroll,wear where changeroll.rollid=wear.rollid and wear.rollid="588"
会将出现交互连接,不是我想要的效果
是不是只能用2个gridview 才能实现呢?
急~~~~~~~~~~~~~~
高手~~~~~~~~~~~~
解决方案1:
union
解决方案2:可不可以先在SQL中定义视图,再binding gridview
解决方案3: 使用一个GridView控件显示一个主题下的主题帖和所有回复帖
SELECT [Card].[cardTitle] AS [Title],[Card].[content] AS [content],
[Card].[deliveTime] AS [deliveTime], [User].[userName] AS [userName]
FROM [Card] inner join [User] on [Card].[userID] = [User].[userID]
WHERE [Card].[cardID]=1
UNION ALL
SELECT [Reply].[replyTitle] AS [Title],[Reply].[content] AS [content],
[Reply].[deliveTime] AS [deliveTime],[User].[userName] AS [userName]
FROM [Reply] inner join [User] on [Reply].[userID] = [User].[userID]
WHERE [Reply].[cardID]=1
ORDER BY [Reply].[deliveTime]
从Card表和Reply表中检索记录,有共同的CardID
也许LZ可以参考下
select 字段1 col_1,字段2 col_2 from changeroll where rollid="588"
union
select 字段1 col_1,字段2 col_2 from wear where rollid="588"
注:查询的字段个数要相同,把原字段名都转换成相同的字段名(col_1,col_2...)