繁体   English   中英

Python和Sqlite3 - 子集一个表然后连接另外两个表

[英]Python & Sqlite3 - Subset one table then join on two other tables

我正在使用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个表中找到所有列。 如果我的任何措辞难以理解,请道歉。

正如@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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM