sql >> Base de Datos >  >> RDS >> Mysql

Unión interna de 2 tablas con los mismos nombres de columna

la razón por la que no funciona es porque (en mi propia opinión ) el servidor está un poco confundido sobre cómo manejará los nombres de las columnas correctamente. Para que funcione, agregue un alias en cada tabla que tenga el mismo nombre que desea unir, así como las columnas, por ejemplo,

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

suponiendo que desea obtener los nombres de cada columna específica .