Obtendo dados de várias tabelas em uma única linha enquanto concatena alguns valores
Estou tentando recuperar dados de tabelas e combinar várias linhas em uma única coluna, sem repetir nenhuma informaçã
Tenho as seguintes tabelas: perfil, qualificação, projeto
Profile pro_id surname firstname ------ ------- ---------- 1 John James 2 King Fred 3 Luxury-Yachts Raymond Qualification pro_id Degree School Year ------ ------ ------ ----- 1 MBA Wharton university 2002 1 LLB Yale University 2001 2 BSc Covington University 1998 2 BEd Kellog University 1995 Projects pro_id Title Year ------ ------ ------ 1 Social Networking 2003 1 Excavation of aquatic debris 2007 2 Design of solar radios 1992 2 Development of expert systems 2011
Eu quero recuperar todas as informações de cada pessoa, com cada pessoa aparecendo apenas uma vez no resultado. As informações sobre qualificações e projetos devem estar em sua própria coluna (uma coluna para qualificações e outra para projetos), separadas por vírgulas. Por exemplo, os resultados para os dados de amostra acima devem ser:
1 John James MBA Wharton university 2002, LLB Yale University 2001 Social Networking 2003, Excavation of aquatic debris 2007, Design of Solar panels 2008 2 King Fred BSc Covington University 1998, BEd Kellog University 1995, Msc MIT 2011 Design of solar radios 1992, Development of expert systems 2011 3 Raymond Luxury-Yachts
Atualmente, tenho a consulta:
SELECT pro_id,
surname,
firstname,
group_concat(degree,school,year) AS qual,
concat(Title,year) AS work
FROM profile,
LEFT JOIN qualification
ON qualification.pro_id = profile.pro_id
JOIN projects
ON projects.pro_id = profile.pro_id
GROUP BY pro_id
Para os dados de amostra, esta consulta resulta em:
1 John James MBA Wharton university 2002, Social Networking 2003 1 John James LLB Yale University 2001, Excavation of aquatic debris 2007 1 John James MBA Wharton university 2002, Social Networking 2003, Excavation of aquatic debris 2007 etc
Nota: Raymond Luxury-Yachts não está presente no resultado atua
Não quero registros de resultados duplicados. Além disso, se o sobrenome não tiver nenhuma entrada na tabela de qualificação e projetos, desejo que a consulta retorne o nome e exiba um campo vazio na tabela de qualificação e projetos em vez de omitê-los por complet