sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cuál es la mejor manera de formar el valor de la cadena usando la columna de una tabla con filas que tienen la misma ID?

Para 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, '')

Para todas las filas en 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