我正在尝试使用名为的 cte 查询 cte,s4并根据结果插入或更新到另一个表eventslog。我无法在单个查询中执行此操作,需要先将数据插入临时表中。我想摆脱对临时表部分的插入,直接插入或更新它。
我想我不止一次调用那个 cte 有问题。有解决办法吗?如何通过查询单个 cte 插入或更新表?非常感谢任何帮助。
SQL;
,ss4
AS (SELECT DISTINCT h.groupid,
h.eventid,
Sum(h.vcheck) AS tot ,
max(h.eventtime) as eventtime
FROM ss3 h
GROUP BY h.groupid,
h.eventid
)
INSERT INTO @glo
(eventtime,
eventid,
groupid,
vcheck)
SELECT DISTINCT i.eventtime,
i.eventid,
i.groupid,
i.tot
FROM ss4 i
INSERT INTO eventslog
(eventtime,
eventid,
groupid)
SELECT DISTINCT j.eventtime,
j.eventid,
j.groupid
FROM @glo j
WHERE
j.vcheck = 0
AND NOT EXISTS(SELECT eventid
FROM eventslog
WHERE eventid = j.eventid
AND …Run Code Online (Sandbox Code Playgroud)