[英]How to use Alias and aggregate or concat
1 user has multiple records in tbl_activity and there is diplay_name, I would like to concat all of them il a columns name activity_name 1个用户在tbl_activity中有多个记录,并且有diplay_name,我想将所有这些连接起来,直到列名称为activity_name
SELECT *
FROM `tbl_user`
INNER JOIN `tbl_user_authassignment`
ON `tbl_user`.`id` = `tbl_user_authassignment`.`userid`
INNER JOIN `tbl_activity`
`tbl_activity`.`id` AS 'activityid'
ON `tbl_user`.`id` = `tbl_activity`.`vendor_id`
WHERE `tbl_user_authassignment`.`itemname` = 'vendor'
In MySQL (which is suggested by your syntax), you can use group_concat()
. 在MySQL中(语法建议),您可以使用
group_concat()
。 I don't know which fields you care about but it is something like this: 我不知道您关心哪个领域,但这是这样的:
SELECT u.*, group_concat(a.acitvityid) as activityids
FROM `tbl_user` u INNER JOIN
`tbl_user_authassignment` ua
ON u.`id` = ua.`userid` INNER JOIN
`tbl_activity` a
ON u.`id` = a.`vendor_id`
WHERE ua`.`itemname` = 'vendor'
GROUP BY u.id;
Looks like it's MySQL
syntax and so you can use GROUP_CONCAT()
for this purpose 看起来像是
MySQL
语法,因此您可以为此使用GROUP_CONCAT()
SELECT tu.*,
xx.`id` AS 'activityid',
xx.activity_name
FROM `tbl_user` tu
INNER JOIN `tbl_user_authassignment` tua
ON tu.`id` = tua.`userid`
INNER JOIN (
select `vendor_id`,
`id`,
group_concat(diplay_name) as activity_name
from `tbl_activity`
group by `vendor_id`) xx ON tu.`id` = tua.`vendor_id`
WHERE tua.`itemname` = 'vendor';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.