Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Inner Join 2 Tabellen mit gleichen Spaltennamen

Der Grund, warum es nicht funktioniert, ist, weil (meiner eigenen Meinung nach ) ist der Server etwas verwirrt darüber, wie er die Spaltennamen richtig behandelt. Damit es funktioniert, fügen Sie einen Alias ​​für jede Tabelle mit demselben Namen hinzu, die Sie zusammenführen möchten, sowie für die Spalten, z. B.

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

Angenommen, Sie möchten die Namen für alle spezifischen Spalten erhalten .