salve Marco,
kingmob wrote:
Query:
update tab1 set (a,
= (select sum(d * e), sum(f * g) from tab2 where c = h group by h)
Una query di questo tipo è compatibile con SQL2000? Qual'è la sintassi corretta? Ho provato e riprovato ma mi da sempre errore...
SET NOCOUNT ON;
USE tempdb;
GO
CREATE TABLE dbo.tA (
a int,
b int,
c int
);
CREATE TABLE dbo.tB (
d int,
e int,
f int,
g int,
h int
);
GO
INSERT INTO dbo.tA VALUES ( 0, 0, 1 );
INSERT INTO dbo.tA VALUES ( 0, 0, 2 );
INSERT INTO dbo.tB VALUES ( 2, 2, 3, 3, 1 );
INSERT INTO dbo.tB VALUES ( 2, 2, 3, 3, 1 );
INSERT INTO dbo.tB VALUES ( 4, 4, 5, 5, 2 );
GO
UPDATE dbo.tA
SET a = (SELECT SUM(d * e) FROM dbo.tB WHERE h = c GROUP BY h), b = (SELECT SUM(f * g) FROM dbo.tB WHERE h = c GROUP BY h);
SELECT * FROM dbo.tA;
GO
DROP TABLE dbo.tA, dbo.tB;
--<----------
a b c
---------
---------
---------
8 18 1
16 25 2
saluti