【发布时间】:2015-07-08 11:55:55
【问题描述】:
res_vod = db.execute("""
SELECT CAST ((SUM(r.SalesVolume)/1000.0) AS decimal(6,1))
FROM RawData r
INNER JOIN Product p
ON r.ProductId = p.ProductId
INNER JOIN Calendar c
ON r.DayId = c.DayId
WHERE c.WeekCodeInYear BETWEEN 30 AND 50
AND p.VODEST IN ('VOD')
AND p.Distributor IN ({})
GROUP BY c.WeekCodeInYear
ORDER BY c.WeekCodeInYear""".format(', '.join(["'" + studio + "'" for studio in _studios])) )
上面的代码允许我添加一个列表作为查询的参数。但是我的要求是添加多个参数。
上面代码中_studios是包含参数的列表。
_studios = ["WARNER","TF1","GAUMONT","PATHE","STUDIOCANAL","FRANCETV","M6SND"]
我还有另一个列表,例如:
_vodest = ["VOD","EST"]
我想将此作为p.VODEST 的参数添加到查询中。
我可以通过使用% 轻松完成此操作,但必须注意该列表包含双引号("WARNER"),但 SQL 查询需要单引号('WARNER')
【问题讨论】:
标签: python sql-server json