这是我的查询,使用的是在浏览此网站时发现的代码:
query="""SELECT Family
FROM Table2
INNER JOIN Table1 ON Table1.idSequence=Table2.idSequence
WHERE (Table1.Chromosome, Table1.hg19_coordinate) IN ({seq})
""".format(seq=','.join(['?']*len(matchIds_list)))
matchIds_list
是(?)?,?) 格式。你知道吗
如果我只要求一个条件(即与Chromosome
和hg_coordinate
相反的Table1.Chromosome
),并且matchIds_list
只是一个简单的单值列表,那么它就可以工作,但是我不知道如何使它与一个复合键或两个列一起工作。你知道吗
既然您运行的是SQLite3.7.17,我建议您只使用一个临时表。你知道吗
创建并填充临时表。你知道吗
只需将查询约束到控制列表临时表。你知道吗
最后执行查询(无需格式化此查询)。你知道吗
短查询(需要SQLite3.15):实际上,您几乎已经拥有了它。您需要使
IN ({seq})
成为子查询 表情。你知道吗长查询(需要SQLite3.8.3):它看起来有点复杂,但非常简单。把你的 控件列表中的子选择,然后通过控件约束该主选择 列表。你知道吗
无论使用哪种查询,格式化SQL时,为每个compsite将
{seq}
替换为(?,?)
而不仅仅是?
。你知道吗最后在执行查询时将
matchIds_list
展平,因为它是一个元组列表。你知道吗相关问题 更多 >
编程相关推荐