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

MySQL - Jak połączyć dwa stoły bez duplikatów?

Wypróbuj ten:

SELECT hotels.hotelID, 
hotels.hotelName,
GROUP_CONCAT(operators.opName SEPARATOR ', ') AS opList
FROM hotels
INNER JOIN operators 
ON operators.opHotelID = hotels.hotelID
GROUP BY(hotels.hotelID)

Jeśli chcesz mieć liczbę operatorów, musisz użyć COUNT na identyfikatorze operatora w następujący sposób:

SELECT hotels.hotelID, 
hotels.hotelName,
GROUP_CONCAT(operators.opName SEPARATOR ', ') AS opList,
COUNT(operators.opID) AS nbOperatos
FROM hotels
LEFT JOIN operators 
ON operators.opHotelID = hotels.hotelID
GROUP BY(hotels.hotelID)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najszybszy sposób na zaktualizowanie tabeli MySQL, jeśli wiersz istnieje, wstawiaj. Więcej niż 2 nieunikalne klucze

  2. MySQL — Zmienić ciąg daty na typ daty w miejscu?

  3. Jak wyeksportować i zaimportować plik .sql z wiersza poleceń z opcjami?

  4. mysqli multi_query, po którym następuje zapytanie

  5. Wybieranie rekordów w kolejności identyfikatora rodzica