Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL - Comment joindre deux tables sans doublons ?

Essayez celui-ci :

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)

Si vous voulez avoir le nombre d'opérateurs, vous devez utiliser COUNT sur l'ID des opérateurs comme ceci :

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)