Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Inner join 2 tabelas com os mesmos nomes de coluna


a razão pela qual não está funcionando é porque (na minha opinião ) o servidor está um pouco confuso sobre como lidará com os nomes das colunas corretamente. Para que funcione, adicione um alias em cada tabela que tenha o mesmo nome que você deseja unir, bem como nas colunas, por exemplo
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

supondo que você queira obter os nomes de cada coluna específica .