venerdì 3 febbraio 2012

La soluzione ad un bel problema Sql

La gente di StackOverflow mi ha risolto un bel problema di sql.
Questa è stata la mia domanda: in pratica, come posso mettere in un'unica colonna, più righe di un'altra tabella, senza moltiplicare le righe ?
La risposta è l'utilizzo del CROSS APPLY , una feature di Sql Server


SELECT t1.centerid, t1.value, LEFT(el.sublist, LEN(el.sublist)-1) AS subcenters FROM Table1 t1CROSS APPLY (SELECT t2.subcenter + ',' AS [text()]
             FROM Table2 t2
             WHERE t2.center = t1.centerid 
             FOR XML PATH(''))el(sublist)

Nessun commento:

Posta un commento