作为一项训练练习,我正在研究一个类似于英雄联盟的虚构SQLite数据库,我需要执行一个左外连接来获取所有玩家的表格,如果他们有没有被称为{{1}的皮肤},也回归那些。
我目前有这个查询:
'Classic'
返回我想要的内容,但也有很多我不想要的列(玩家体验,玩家IP,玩家RP,玩家名称在SELECT * FROM players
LEFT OUTER JOIN (SELECT * FROM playerchampions WHERE NOT championskin = 'Classic')
ON name = playername
表中。这两个表的代码是以下内容:
playerchampions
正如我所说,查询执行,但我不能使用SELECT players.name,playerchampions.championname,playerchampions.championskin作为playerchampions列在返回时没有给出正确的表名。
我该如何解决这个问题?
答案 0 :(得分:0)
尝试使用别名:
SELECT p.name, c.championskin FROM players p LEFT OUTER JOIN (SELECT pc.playername playername, pc.championskin championskin FROM playerchampions pc WHERE NOT pc.championskin = 'Classic') c ON p.name = c.playername;
不确定它是否正是您需要的,但它会让您更接近......
答案 1 :(得分:0)
SELECT * FROM players p LEFT OUTER JOIN playerchampions pc ON (p.name = pc.playername) WHERE NOT pc.championskin = 'Classic'