Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenha a tab A (tabela pai) e a tab B (tabela filha).
Quero saber como "mesclar" num SELECT os **valores** de um campo específico da **tabela B **com os campos já exibidos da **tabela A** numa única linha**.**
Que ficasse uma linha mais ou menos assim:
LINHA:
_______________________________________________________________________________________________________________
NomeCompleto (da **tab A**) | Salario (da **tab A**) | Idade (da **tab A**) | Fotos (foto1.jpg, foto2.jpg, foto3.jpg... da **tab B**)
_______________________________________________________________________________________________________________
O caractére separador no campo Fotos por ser vírgula, hífen, etc.Olá @Motta
Olhei o link.
A função STRING_AGG é uma mão na roda. Eu não a conhecia.
Fiz uns experimentos com base nos exemplo do link (veja box abaixo). Funcionou perfeitamente.
SELECT a.articleId, title, STRING_AGG (tag, ',') as tags
FROM dbo.Article AS a
LEFT JOIN dbo.ArticleTag AS t
ON a.ArticleId = t.ArticleId
GROUP BY a.articleId, title;
Porém , na minha situação preciso fazer dois JOIN. Aí a função STRING_AGG deixa de funcionar (retorna várias linhas).
Consegue dizer se há como resolver isso?
Veja meu cenário:
SELECTLEFT JOIN
tabB AS AV ON
V.Codigo = AV.codVaga
LEFT JOIN
tabC AS AA ON
AV.codArqAcervo = AA.idArquivoAcervo
WHERE V.Codigo = 123456
GROUP BY Codigo, Titulo, caminhoArq

Faz assim
um select grande
select xxx
from xxx
join ....
faz ser uma tabela virtual e coloca o agg aqui
select ..., STRING_AGG (...)
from
(
select xxx
from xxx
join ....
)
Show!! Problema resolvido!
Muitíssimo obrigado @Motta
Tente
https://docs.microsoft.com/pt-br/sql/t-sql/functions/string-agg-transact-sql?view=sql-server-2017