奇怪的要求,关于DataTable

xiaoduxie 2007-06-27 10:54:52
我从数据库一个表,按照不同日期查询得到两个表
tbA
t1a v1a
t2a v2a

tbB
t1b v1b
t2b v2b
t3b v3b

现在想把他们无条件合成一个表
tbAB
t1a v1a t1b v1b
t2a v2a t2b v2b
t3b v3b

应该怎么操作呢,用sql外联好像也不行吧,等待高人解答
...全文
236 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
cfreez 2007-06-27
  • 打赏
  • 举报
回复
sql2005好办lovefootball已解决

sql2000可用两个临时表保存结果,临时表都加个有自增的字段
这样就可用sql2005的方法了
xiaoduxie 2007-06-27
  • 打赏
  • 举报
回复
我用的sql2000,郁闷
xiaoduxie 2007-06-27
  • 打赏
  • 举报
回复
谢谢lovefootball,我再试试
xiaoduxie 2007-06-27
  • 打赏
  • 举报
回复
这倒是,我还不理解Row_Number() 是什么意思
lovefootball 2007-06-27
  • 打赏
  • 举报
回复
你那里是sql2005么?
关于Row_Number()的解释
http://bear-study-hard.cnblogs.com/archive/2006/02/09/327723.html

实在不行
你就用最笨的办法
把查询出来的结果放到DataTable中
然后在代码里面合并
lovefootball 2007-06-27
  • 打赏
  • 举报
回复
那还不简单么?
你可以把tbA和tbB换成你查询出来的结果集不就完了么?

数据库中存在的表和查询出来的结果集你认为有区别么?
xiaoduxie 2007-06-27
  • 打赏
  • 举报
回复
lovefootball

'Row_Number' 不是可以识别的 函数名

Row_Number() 是什么啊
xiaoduxie 2007-06-27
  • 打赏
  • 举报
回复
谢谢lovefootball的解答,不过我还没有答案
可能是我没说明白
tbA和tbB是我从sql的一个表tb中按照不同时间得到的两个结果集,并不是两张表
所以按照你的意思A.RowNumber = B.RowNumber
应该不会得到我想要的形式
lovefootball 2007-06-27
  • 打赏
  • 举报
回复
SQLSERVER2005测试成功~~~
lovefootball 2007-06-27
  • 打赏
  • 举报
回复
select * from
(
(SELECT *,Row_Number() OVER(ORDER BY 主键) AS RowNumber
FROM tbA) A
RIGHT OUTER JOIN (SELECT *,Row_Number() OVER(ORDER BY 主键) AS RowNumber
FROM tbB) B ON A.RowNumber = B.RowNumber
)
xiaoduxie 2007-06-27
  • 打赏
  • 举报
回复
union好像是追加行.好像这里用不上
说来惭愧,视图至今为止还没用过,不清楚怎么搞
jiatong1981 2007-06-27
  • 打赏
  • 举报
回复
union 可不行哦
viena 2007-06-27
  • 打赏
  • 举报
回复
sorry ,用视图
viena 2007-06-27
  • 打赏
  • 举报
回复
union
xiaoduxie 2007-06-27
  • 打赏
  • 举报
回复
谢谢lovefootball和cfreez
搞定了

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧