è possibile senza ricorrere ad una store procedure??
grazie
ciao
Nick
Ciao Nick,
Se utilizzi SQL Server 2005+ puoi utilizzare la clausola FOR XML PATH come
nel seguente esempio:
USE tempdb;
CREATE TABLE dbo.foo(
Nome varchar(10) NOT NULL,
Tipo1 char(3) NOT NULL,
Tipo2 char(1) NOT NULL,
Ore int NOT NULL
);
INSERT dbo.foo VALUES
('pippo', 'uno', 'a', 1)
, ('pippo', 'uno', 'b', 2)
, ('pippo', 'due', 'a', 3);
SELECT
Nome
, Tipo1
, STUFF(
(
SELECT ' + ' + CAST(Ore AS varchar(2)) + Tipo2 AS [text()]
FROM dbo.foo
WHERE Nome = Q.Nome
AND Tipo1 = Q.Tipo1
FOR XML PATH('')
), 1, 3, '') AS OreT
FROM dbo.foo AS Q
GROUP BY Nome, Tipo1;
/* Output:
Nome Tipo1 OreT
---------- ----- --------
pippo due 3a
pippo uno 1a + 2b
(2 row(s) affected)
*/
DROP TABLE dbo.foo;
> grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo
http://social.microsoft.com/Forums/it-IT/sqlserverit