Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Qual è il modo migliore per formare il valore della stringa utilizzando la colonna di una tabella con righe con lo stesso ID?

Per XYZID = 1 .

select stuff((select '#'+col2+'-'+col3+'-'+col4
              from TableB
              where XYZID = 1
              order by seq
              for xml path(''), type).value('.', 'nvarchar(max)'), 1, 1, '')

Per tutte le righe in TableA:

select stuff((select '#'+col2+'-'+col3+'-'+col4
              from TableB as B
              where A.XYZID = B.XYZID
              order by seq
              for xml path(''), type).value('.', 'nvarchar(max)'), 1, 1, '')
from TableA as A