>in pratica ho la necessità di unire le sei tabelle per avere
>il totale degli articoli venduti per ogni signolo codice articolo.
Ciao sorio,
secondo me il design del database potrebbe essere rivisto, comunque puoi unire i dati delle sei tabelle utilizzando l'operatore UNION.
Ti allego un esempio scritto in T-SQL per SQL Server 2005 basato su 3 tabelle:
USE tempdb;
GO
CREATE TABLE dbo.Art1
(
art1 int NOT NULL,
artq1 int NOT NULL
);
CREATE TABLE dbo.Art2
(
art2 int NOT NULL,
artq2 int NOT NULL
);
CREATE TABLE dbo.Art3
(
art3 int NOT NULL,
artq3 int NOT NULL
);
INSERT dbo.Art1 VALUES(1, 10);
INSERT dbo.Art1 VALUES(2, 20);
INSERT dbo.Art1 VALUES(3, 30);
INSERT dbo.Art1 VALUES(3, 35);
INSERT dbo.Art2 VALUES(1, 100);
INSERT dbo.Art2 VALUES(2, 200);
INSERT dbo.Art3 VALUES(3, 300);
INSERT dbo.Art3 VALUES(4, 400);
SELECT art1 AS CodiceArticolo, SUM(artq1) AS Quantità
FROM (
SELECT art1, artq1
FROM dbo.Art1
UNION ALL
SELECT art2, artq2
FROM dbo.Art2
UNION ALL
SELECT art3, artq3
FROM dbo.Art3
) AS U
GROUP BY art1;
GO
/* Output:
CodiceArticolo Qantità
-------------- -----------
1 110
2 220
3 365
4 400
(4 row(s) affected)
*/
DROP TABLE dbo.Art1, dbo.Art2, dbo.Art3
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org