读书人

求SQL语句.在线给分,该如何解决

发布时间: 2011-12-31 23:50:30 作者: rapoo

求SQL语句..在线给分
表DocSend
DOCID SendID SendUserID SendNodeID SendDate
41112004-5-1

42222004-5-2

43322004-5-2


表DocWait
ID DocID SendID WaitUserID WaitNodeID
1 4 1 2 2
2 4 1 3 2

3 4 2 4 3

4 4 3 5 3


现要对以上两表进行合并,成一张表。
注:两表的SendID 进行关联,现要产生一张树形表(不要求位置).
DOCID NewID SendUserID SendNodeID SendDate parentID
41112004-5-1 0
42222004-5-2 4
43322004-5-2 5

44222004-5-1 1
45322004-5-2 1
46432004-5-2 2
47432004-5-2 3


CREATE TABLE [DocSend] (
[DocID] [int] NULL ,
[SendID] [int] IDENTITY (1, 1) NOT NULL ,
[SendUserID] [int] NULL ,
[SendNodeID] [int] NULL ,
[SendDate] [datetime] NULL CONSTRAINT [DF_DocSend_SendDate] DEFAULT (getdate())
) ON [PRIMARY]
GO


CREATE TABLE [DocWait] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[DocID] [int] NULL ,
[SendID] [int] NULL ,
[WaitUserID] [int] NULL ,
[WaitNodeID] [int] NULL ,
) ON [PRIMARY]
GO




[解决办法]
不明白,SendNodeID WaitNodeID什么意思?
[解决办法]
parentID怎么来得?
[解决办法]
那你上边两个表里都没有 从那里取


[解决办法]

--第一步
select id,docid,sendid,waituserid,waitnodeid into #linshibiao

--第二步

alter table DocSend add (id,docid,sendid,waituserid,waitnodeid ) values (这里自己写字段长度和类型)

--第三步

insert into DocSend (id,docid,sendid,waituserid,waitnodeid )
select id,docid,sendid,waituserid,waitnodeid from #linshibiao

--第四步
drop table #linshibiao

读书人网 >SQL Server

热点推荐