我正在从c++代码生成sql查询(sqllite3)
我需要有效地写下以下请求。
SELECT * FROM T
WHERE T.field1 IN (V1, V2, V3, ...) or T.field2 IN (V1, V2, V3, ...);
如何优化它:避免粘贴两次(v1,v2,v3,…),或者取(t.field1,t.field2)和(v1,v2,v3,…)的交集,或者创建语句局部变量(v1,v2,v3,…),或者其他什么?
sql语句被创建为一个字符串,然后传递给sql解析引擎。
2条答案
按热度按时间wj8zmpe11#
创建
CTE
并按如下方式使用:yh2wf1be2#
你可以改变条件: