难以参数化Python SQLite子查询

时间:2014-04-16 23:36:26

标签: python sql sqlite nested subquery

我正在尝试使用sqlite在python中参数化子查询,但仍然遇到语法错误。我的查询如下,

cur.execute("SELECT Name FROM names WHERE SectionCode = (SELECT SectionCode FROM names WHERE Key = ?, (tempemail,))")

基本上,我想获得一个列表,其中包含与存储在变量tempemail中的密钥的人具有相同部分的人的所有名称。我已经尝试过不对参数进行参数化,但我遇到了不同的错误。单独的查询似乎有效,但不是如上所述嵌套。有人可以提供任何指导吗?

1 个答案:

答案 0 :(得分:2)

引号内的任何内容都是SQL语句;外面的任何东西都是Python代码。

您要为execute函数提供的参数是一个Python变量:

cur.execute("SELECT ... = (SELECT ... WHERE Key = ?)", (tempemail,))