Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problema concatenando linhas com duplicatas


Você não pode usar * porque isso produz uma agregação errada no mysql para a versão <5.7

tente usar o nome da coluna explícita em select
SELECT computer.ID, group_concat(HardDisk.Id) my_disk
from Computer
inner join HardDisk on Computer.Id = HardDisk.ComputerId
group by Computer.Id 

se você precisar de mais colunas não relacionadas ao mesmo nível de agregação, precisará de uma junção

No mysql versão <5.7 se algumas colunas mencionadas na cláusula select não forem mencionadas corretamente no grupo pela função de agregação retorna a primeira ocorrência do select e não o resultado agregado correto

tente adicionar
 echo  $row['my_disk];