>Tavola sarebbe la sottoquery, salvata a parte. In Access è possibile,
>ma in SQL 2008 mi dà errore.
Ciao Davide,
Cosa ti dà errore?
Comunque puoi procedere in 2 modi: se la subquery deve essere memorizzata in un oggetto nel database (alla stessa stregua delle Query in Access) puoi definire una vista che andrai ad interrogare successivamente; se invece stai cercando solo un modo alternativo e forse più chiaro per "delimitare" la subquery puoi servirti di una Common Table Expression.
Si seguito i 2 esempi:
/* Esempio 1: definisco ed interrogo la vista */
CREATE VIEW dbo.vwTavola
AS
SELECT SUM([Numero Dipendenti]) AS dipendenti
FROM Tmp_AttivitaDipendenti
WHERE [Numero Dipendenti] >0
GROUP BY sh1_code;
GO
SELECT '00-10' AS Descrizione, SUM .. AS Valore
FROM dbo.vwTavola;
GO
/* Esempio 2: definisco ed interrogo una CTE */
WITH CTE_Tavola AS
(
SELECT SUM([Numero Dipendenti]) AS dipendenti
FROM Tmp_AttivitaDipendenti
WHERE [Numero Dipendenti] >0
GROUP BY sh1_code
)
SELECT '00-10' AS Descrizione, SUM .. AS Valore
FROM CTE_Tavola;
>Grazie,
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/