我正在使用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;']
问题:您怎么了?看起来我们可以在联接中使用别名,而无需提及左,右,内等。
答案 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."