Tenho uma tabela “Funcionario” e uma tabela “Afastamento”, em uma relação 1:N. Gostaria de selecionar todos os funcionários e concatenar em um campo os motivos de afastamento.
Acho que com SQL você não consegue fazer isso não, cara. Você pode buscar os registros e montar o resto na mão, agora em SQL ele traria a coluna da esquerda repetida, para cada motivo de afastamento do funcionario"SELECT fun.nome, afa.descricao FROM funcionario fun
INNER JOIN afastamento afa ON afa.idfuncionario = fun.idfuncionario"
[code]SELECT
f.nome,
(
SELECT motivo FROM afastamento
WHERE motivo <> null AND id_funcionario = f.id_funcionario
) AS motivo
FROM funcionario f
INNER JOIN Afastamento af
ON af.id_funcionario = f.id_funcionario
WHERE f.id_funcionario = 1
Só reforçando o que o pessoal disse, com SQL puro não dá mesmo. Se o resultado for utilizado em uma aplicação Java, é simples de fazer com código Java. Se for um relatório, dá pra fazer agrupamentos.
O problema acho que não é nem o erro,
o cara passa uma dúvida e não passa a estrutura da tabela dele, eu fiz esse sql pelado sem nada pra imaginar,
… mas enfim