我正在使用python和sqlite3。我有3张桌子:
表1: Col A
表2: Col A | Col B
表3: Col B
我希望表1中的前500k行和表2中的任何匹配行具有表3中匹配的行。我该怎么做?我在想这样的事情
conn = sqlite3.connect('database.sqlite')
conn.execute('SELECT * FROM Table1 LIMIT 500000 AS sample
LEFT JOIN Table2
ON sample.A = Table2.A
LEFT JOIN Table3 ON table2.B = Table3.B')
但是我收到了这个错误:OperationalError: near "AS": syntax error
结果应该是500k行,并且在所有3个表中找到所有列。 如果我的任何措辞难以理解,请道歉。
答案 0 :(得分:2)
正如@furas所说,LIMIT
必须在完整陈述的末尾。
您实际想要做的事情很可能是子查询,例如:
SELECT * FROM (SELECT * FROM Table1 LIMIT 500000) AS sample
LEFT JOIN Table2
ON sample.A = Table2.A
LEFT JOIN Table3 ON table2.B = Table3.B