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

Jointure interne 2 tables avec les mêmes noms de colonne

la raison pour laquelle cela ne fonctionne pas est parce que (à mon avis ) le serveur est un peu confus quant à la manière dont il gérera correctement les noms de colonnes. Pour que cela fonctionne, ajoutez un alias sur chaque table portant le même nom que vous souhaitez joindre ainsi que les colonnes, par exemple

SELECT  achievements.*,
        a.Name as TypeName,
        b.Name AS BlockName,
        c.Name as DataName,
        d.Name AS ValueName
FROM    achievements
        INNER JOIN stats a ON achievements.type = a.type
        INNER JOIN stats b ON achievements.block = b.block
        INNER JOIN stats c ON achievements.data = c.data
        INNER JOIN stats d ON achievements.value = d.value
WHERE   player_id = $id

en supposant que vous souhaitiez obtenir les noms de chaque colonne spécifique .