使用pandasql连接两个表

时间:2018-06-26 09:43:58

标签: python sql pandas join pandasql

我正在使用Pandasql在Python中运行SQL查询。 x,y和z查询工作正常,但u给出错误

x = pysql("select * from flight f left join iata i on f.ORIGIN = i.IATA;")

y = pysql("select * from flight f inner join iata i on f.ORIGIN = i.IATA;")

z = pysql("select * from flight, iata where flight.ORIGIN = iata.IATA;")

u = pysql("select * from flight f, iata i where f.ORIGIN = i.IATA;") 

错误消息是

PandaSQLException:(sqlite3.OperationalError)没有这样的表:iata [SQL:'从航班f,iata i中选择*,其中f.ORIGIN = i.IATA;']

问题:您怎么了?看起来我们可以在联接中使用别名,而无需提及左,右,内等。

2 个答案:

答案 0 :(得分:1)

因为在使用旧样式连接时必须使用 AS 为其明确别名

代替

select * from flight f, iata i where f.ORIGIN = i.IATA;

select * from flight AS f, iata AS i where f.ORIGIN = i.IATA;

答案 1 :(得分:0)

尝试此代码

"Chart printed."