2016-11-23 83 views
0

假設我有一個名爲tblUsers的表,其中包含用戶信息,另一個表名爲tblBadgesEarned,nm關係到tblUsers,其中包含用戶獲得的每個徽章的條目。根據另一個表的結果添加要查詢的行

如果我從tblUsers獲得用戶信息,我希望結果包含一個名爲「BadgesEarned」的字段,例如,該字段是來自tblBadgedEarned的所有用戶獲得的所有徽章的數組。

是否可以在單個查詢中執行此操作,還是必須將其拆分並將該字段添加到數組結果中?

+0

這是可能的。但既然這就是你給的所有信息,那麼我可以給予答案。 – Eric

回答

0

您可以使用GROUP_CONCAT()來完成類似的操作。以下是基於您提供的最小架構信息的示例查詢:

select tblUsers.username, 
    group_concat(distinct tblBadgesEarned.badge_name order by tblBadgesEarned.badge_name) 
from tblUsers 
    left outer join tblBadgesEarned on tblBadgesEarned.user_id = tblUsers.id 
group by tblUsers.username; 
相關問題