请高手指点解决以下难题,谢谢!
消息 157,级别 15,状态 1,过程 PURTHONLOAD,第 6 行
聚合不应出现在 UPDATE 语句的集合列表中。create TRIGGER [dbo].[PURTHONLOAD] ON [dbo].[PURTH]
AFTER INSERT,UPDATE,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE INVMB
SET UDF52=SUM(B.TH007)
FROM INSERTED T,PURTH B,INVMB A
WHERE T.TH004=B.TH004
AND B.TH004=A.MB001
AND B.TH030='N'
SET NOCOUNT OFF
END
消息 157,级别 15,状态 1,过程 PURTHONLOAD,第 6 行
聚合不应出现在 UPDATE 语句的集合列表中。create TRIGGER [dbo].[PURTHONLOAD] ON [dbo].[PURTH]
AFTER INSERT,UPDATE,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE INVMB
SET UDF52=SUM(B.TH007)
FROM INSERTED T,PURTH B,INVMB A
WHERE T.TH004=B.TH004
AND B.TH004=A.MB001
AND B.TH030='N'
SET NOCOUNT OFF
END
AFTER INSERT,UPDATE,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE INVMB SET UDF52=
(
select sum(b.TH007) from INSERTED T,PURTH B
WHERE T.TH004=B.TH004
AND B.TH004=A.MB001
AND B.TH030='N'
)
from
INVMB A
SET NOCOUNT OFF
END这样试试
AFTER INSERT,UPDATE,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE A
SET UDF52=(
select SUM(B.TH007)
FROM INSERTED T,PURTH B
WHERE T.TH004=B.TH004
AND B.TH004=A.MB001
AND B.TH030='N'
)
from INVMB A
SET NOCOUNT OFF
END
SET UDF52=B.TH007
From INVMB A
inner join
(Select
TH004,
sum(TH007) as TH007
From PURTH
Group by TH004)B On B.TH004=A.MB001
inner join INSERTED T On T.TH004=B.TH004
create TRIGGER [dbo].[PURTHONLOAD] ON [dbo].[PURTH]
AFTER INSERT,UPDATE,DELETE AS
BEGIN
SET NOCOUNT ONUPDATE A
SET UDF52=B2.sTH007
FROM INVMB A
cross apply
(select SUM(B.TH007) sTH007
from PURTH B
inner join INSERTED T on T.TH004=B.TH004
where B.TH004=A.MB001 and B.TH030='N') B2SET NOCOUNT OFF
END
AFTER INSERT,UPDATE,DELETE AS
BEGIN
SET NOCOUNT ON
UPDATE A
SET UDF52=(
select SUM(B.TH007)
FROM INSERTED T,PURTH B
WHERE T.TH004=B.TH004
AND B.TH004=A.MB001
AND B.TH030='N'
)
from INVMB A
SET NOCOUNT OFF
END
set t.[] = e.[]
from tb t join (select tid,sum() from tc where ..) e on t.id = e.tid类似;