sql >> Database teknologi >  >> RDS >> Mysql

Udsted sammenkædede rækker med dubletter

Du kan ikke bruge *, fordi dette giver en forkert aggregering i mysql for version <5.7

prøv at bruge det eksplicitte kolonnenavn i select

SELECT computer.ID, group_concat(HardDisk.Id) my_disk
from Computer
inner join HardDisk on Computer.Id = HardDisk.ComputerId
group by Computer.Id 

hvis du har brug for flere kolonner, der ikke er relateret til det samme aggregeringsniveau, har du brug for en join

I mysql version <5.7 returneres den første forekomst af select og ikke det korrekte aggregerede resultat, hvis nogle kolonner nævnt i select-klausulen ikke er nævnt korrekt i gruppen af ​​aggregeringsfunktionen.

prøv tilføje

 echo  $row['my_disk];



  1. PostgreSQL-array af elementer, der hver er en fremmednøgle

  2. Hvad er SQL Operations Studio (SQLOPS)?

  3. Oracle til PostgreSQL — Markører og almindelige tabeludtryk

  4. Vellykket SQL-injektion trods PHP Magic Quotes