从多个表中选择sqlite3

时间:2017-09-24 05:21:32

标签: python sql python-3.x sqlite

我有2张桌子," vector"和"词汇。"我试图这样做:

c.execute('SELECT value FROM vector WHERE word IN (SELECT word FROM vocab)')

我收到错误sqlite3.OperationalError: no such table: vocab当然,这是因为我还没有连接到词汇表。我之前只连接到向量表:

dbname = "/Users/quantumjuker/NLP/vector.db"
conn = sqlite3.connect(dbname)
c = conn.cursor()

我如何连接到词汇表,所以我没有收到错误?

谢谢!

1 个答案:

答案 0 :(得分:0)

因此SQLite3具有读取其他SQLite数据文件的能力。这是使用ATTACH命令完成的。关于它的好处是它被用作sql查询。所以你做了类似的事情:

c.execute("ATTACH 'vocab.db' AS 'vocabulary'");

请注意AS将数据库别名为名称,而不是名称的表。完成此操作后,您也可以针对vocab表运行查询。