SQLite外连接列过滤

时间:2013-04-10 10:44:16

标签: sqlite left-join

作为一项训练练习,我正在研究一个类似于英雄联盟的虚构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列在返回时没有给出正确的表名。

我该如何解决这个问题?

2 个答案:

答案 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'