Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Problem z łączeniem wierszy z duplikatami

Nie możesz użyć *, ponieważ spowoduje to błędną agregację w mysql dla wersji <5.7

spróbuj użyć wyraźnej nazwy kolumny w zaznaczeniu

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

jeśli potrzebujesz więcej kolumn nie związanych z tym samym poziomem agregacji, potrzebujesz połączenia

W mysql w wersji <5.7, jeśli niektóre kolumny wymienione w klauzuli select nie są poprawnie wymienione w grupie przez funkcję agregującą, zwracają pierwsze wystąpienie select, a nie poprawny wynik zagregowany

spróbuj dodać

 echo  $row['my_disk];



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Aktualizacja MySQL z jednej tabeli do drugiej z warunkiem nie działa?

  2. Znajdowanie daty między datą rozpoczęcia a datą zakończenia

  3. SQL Pobierz inne wiersze z funkcji agregującej

  4. mysql - wyświetla wartości, które istnieją we WSZYSTKICH tabelach

  5. Używanie GROUP_CONCAT w podzapytaniu w MySQL