Is het mogelijk om onderstaand resultaat (afbeelding) weer te geven in 1 rij met 1 querry waar de verschillende groepen samengevoegd worden in 1 veld van de tabel?


SELECT phpbbU.username, phpbbU.user_email, phpbbPF.pf_geboortejaar, phpbbPF.pf_groep, phpbbU.user_rank, phpbbG.group_name, joomlaU.username, joomlaG.group_id
FROM phpbb_users AS phpbbU
INNER JOIN phpbb_user_group AS phpbbUG ON phpbbU.user_id = phpbbUG.user_id
INNER JOIN phpbb_groups AS phpbbG ON phpbbUG.group_id = phpbbG.group_id
INNER JOIN phpbb_profile_fields_data AS phpbbPF ON phpbbU.user_id = phpbbPF.user_id
INNER JOIN jml17_users AS joomlaU ON phpbbU.username = joomlaU.username
INNER JOIN jml17_user_usergroup_map AS joomlaG ON joomlaU.id = joomlaG.user_id
WHERE username_clean = 'bluestrike'


iets als:


SELECT phpbbU.username, phpbbU.user_email, phpbbPF.pf_geboortejaar, phpbbU.user_rank, , joomlaU.username,
GROUP_CONCAT( phpbbPF.pf_groep) AS groepenP, 
GROUP_CONCAT(phpbbG.group_name) AS groepenJ
FROM phpbb_users AS phpbbU
INNER JOIN phpbb_user_group AS phpbbUG ON phpbbU.user_id = phpbbUG.user_id
INNER JOIN phpbb_groups AS phpbbG ON phpbbUG.group_id = phpbbG.group_id
INNER JOIN phpbb_profile_fields_data AS phpbbPF ON phpbbU.user_id = phpbbPF.user_id
INNER JOIN jml17_users AS joomlaU ON phpbbU.username = joomlaU.username
INNER JOIN jml17_user_usergroup_map AS joomlaG ON joomlaU.id = joomlaG.user_id
WHERE username_clean = 'bluestrike'
GROUP BY 
   phpbbU.username, 
   phpbbU.user_email, 
   phpbbPF.pf_geboortejaar, 
   phpbbU.user_rank, 
   joomlaU.username
Je zou met group by en de aggregate functie group_concat kunnen werken.

SELECT
	GROUP_CONCAT(DISTINCT phpbbG.group_name) AS phpbbGroups)
FROM .....
.....
WHERE .................
GROUP BY ........... /* alle niet aggegrate kolommen uit de select
Bedankt,
daar kan ik mee verder :)

Reageren