0

我想将几个结果合并到 1 个表中以在 PHP 中显示,不好的是没有唯一的键来识别它,这是我的 mysql 表数据:-

ServiceGroup    Name      Moperator          ShortCode  
--------------  ---------  -----------------  ---------  
INTEGRAT        norman     KW_DTAC            11111             
KW_I2C          norman     KW_ZAIN            00000            
AB_MK           norman     HUT/TRUEMOVE       4541311           
INTERGRAT       amanda     KW_DTAC            11111      

在列出的表中,名称 amanda 和 norman 具有相同的值,但是我希望在 PHP 上显示这样的结果。

ServiceGroup    Name              Moperator          ShortCode  
--------------  ---------         -----------  ---------  
INTEGRAT        norman,amanda     KW_DTAC            11111             
KW_I2C          norman            KW_ZAIN            00000            
AB_MK           norman            HUT/TRUEMOVE       4541311    

我应该如何把它放在 PHP 上,查询应该是什么样子?这是我的查询示例:-

SELECT Distinct userfilters.ServiceGroup, userdetails.Login, userfilters.Moperator, userfilters.ShortCode FROM userdetails INNER JOIN userfilters ON userfilters.UserDetailsID=userdetails.UserDetailsID AND Login IN ('amanda', 'brandon', 'bryan', 'christina', 'johnny', 'larry', 'monica', 'norman', 'eko') ORDER BY ServiceGroup DESC
4

1 回答 1

0

按唯一列对数据进行分组,并用于grop_concat将登录名放在逗号分隔列表中

SELECT f.ServiceGroup, 
       group_concat(d.Login) as logins,
       f.Moperator, 
       f.ShortCode 
FROM userdetails d
INNER JOIN userfilters f ON f.UserDetailsID = d.UserDetailsID 
WHERE d.Login IN ('amanda', 'brandon', 'bryan', 'christina', 'johnny', 'larry', 'monica', 'norman', 'eko') 
GROUP by f.ServiceGroup, f.Moperator, f.ShortCode
ORDER BY f.ServiceGroup DESC
于 2013-10-21T07:05:17.653 回答