存储过程要实现以下功能:
INSERT INTO C
(C.1 C.2 C.3)
(SELECT A.1 A.2 A.3 FROM A,B,D WHERE A.1=B.1 AND A.2=B.2 AND A.1>=(SELECT D.1 FROM D WHERE D.2=A.2))
请问该如何实现?
INSERT INTO C
(C.1 C.2 C.3)
(SELECT A.1 A.2 A.3 FROM A,B,D WHERE A.1=B.1 AND A.2=B.2 AND A.1>=(SELECT D.1 FROM D WHERE D.2=A.2))
请问该如何实现?
INSERT INTO C
(C.1 C.2 C.3)
(SELECT A.1 A.2 A.3 FROM A,B,D WHERE A.1=B.1 AND A.2=B.2 AND D.2=A.2 and A.1>= D.1)
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
UserName nvarchar
Event_Time datetime
AreaCode nvarchar表B,包含以下字段
InfoName nvarchar表C,包含以下字段
InfoName nvarchar
BeginCode nvarchar --对应表A中的AreaCode
EndCode nvarchar --对应表A中的AreaCode
TimeDiff int --时间差表A的数据会不断增加,并且同样AreaCode的记录会重复出现,表A中的任意两条数据(A1和A2)和表C中的C1,能够满足A1.AreaCode=C1.BeginCode且A2.AreaCode=C1.EndCode且DateDiff(ss,A1.最近一次的Event_Time,A2.最近一次的Event_Time)>=60 则将C1.InfoName写入B中
select InfoName from C,
(select * from A m where not exists(select 1 from A n where m.AreaCode=n.AreaCode and n.Event_Time>m.Event_Time)) A1,
(select * from A m where not exists(select 1 from A n where m.AreaCode=n.AreaCode and n.Event_Time>m.Event_Time)) A2
where C.BeginCode=A1.AreaCode
and C.EndCode=A2.AreaCode
and DateDiff(ss,A1.Event_Time,A2.Event_Time)>=60