两个表纵向相连接,还要创建一个ID,这个视图应该怎么写啊

andrew_zx 2008-04-01 11:08:27
表1结构 callId (主键) startTime stopTime total slave
表2结构 Id (主键) callId startTime stopTime control master

这两个表结构相似,表一表二都有个callId,意义一样,目标是想把这两个表的数据纵向联合起来,作为一个表进行查询

视图后的表结构做成

视图结构 去掉表2的Id 重新建立一个自增型的Id作为主键

Id (新主键) callId startTime stopTime total control
...全文
127 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
andrew_zx 2008-04-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ojuju10 的回复:]


SQL code
--2005
select row_number() over (order by a.id ) ,a.id from tab a,tab b
where a.callid=b.callid
[/Quote]

XD 我可能解释得不具体 表一和表二就算callId相同也是不同两条内容的记录

表一
200804010955123 20080401-09:56 20080401-09:57 7 1


表二
123-87912-7398 200804010955123 20080401-12:15 20080301-13:07 13 56


需要合并成的视图数据应该是

1 200804010955123 20080401-09:56 20080401-09:57 7 空
2 200804010955123 20080401-12:15 20080301-13:07 空 13
qsqtok 2008-04-01
  • 打赏
  • 举报
回复
交叉连接?
ojuju10 2008-04-01
  • 打赏
  • 举报
回复


--2005
select row_number() over (order by a.id ) ,a.id from tab a,tab b
where a.callid=b.callid


andrew_zx 2008-04-01
  • 打赏
  • 举报
回复
为什么我在2005新建视图里面保存这段sql 会出现
“不支持 OVER SQL 构造或语句” 这是什么意思啊 应该怎么办啊
ojuju10 2008-04-01
  • 打赏
  • 举报
回复

select row_number() over(order by px) as ID
, callId
, startTime
, stopTime
, total
,control
from (
select Px=1, callId
, startTime
, stopTime
, total
,'null' as control
from tab1
union all
select Px=2, callId
, startTime
, stopTime
, 'null' as total
, control
from tab2
) as tb
yyyyzzzz_2002 2008-04-01
  • 打赏
  • 举报
回复
select row_number() over(order by callid) as ID
, callId
, startTime
, stopTime
, total
,control
from (
select callId
, startTime
, stopTime
, total
,'null' as control
from 表1
union all
select callId
, startTime
, stopTime
, 'null' as total
, control
from 表12
) as tb

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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