Mysql
 sql >> Database >  >> RDS >> Mysql

Inner join 2 tabelle con gli stessi nomi di colonna

il motivo per cui non funziona è perché (secondo me ) il server è un po' confuso su come gestirà correttamente i nomi delle colonne. Affinché funzioni, aggiungi un alias su ogni tabella che ha lo stesso nome a cui vuoi unire così come le colonne, ad es.

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

supponendo che tu voglia ottenere i nomi per ogni colonna specifica .