两个表纵向相连接,还要创建一个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
...全文
92 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
回复
相关推荐
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-04-01 11:08
社区公告
暂无公告