[英]How to do following sql operation using Table.select() method in python sqlobject?
Sql 操作:
SELECT *,
CASE
WHEN quota_unit = 'MB' THEN quota*1024
ELSE quota
END AS data_usage
FROM mapping
ORDER BY data_usage;
我這樣試過
query = mapping.select('CASE WHEN mapping.quota_unit = 'MB' THEN 1024 * mapping.quota ELSE mapping.quota END AS data_usage)
query.orderBy(data_usage)
res = list(query)
但是 select 方法在 Where 子句和結果查詢的大括號中采用該值變為
SELECT * FROM mapping WHERE 'CASE WHEN mapping.quota_unit = MB THEN 1024 * mapping.quota ELSE mapping.quota END AS data_usage'
這不是預期的。 你能在這里取悅我嗎?
並非每個可能的 SQL 查詢都可以映射回 SQLObject 表達式。 有時你需要 go 到SQLBuilder
甚至原始查詢:
results = connection.queryAll(string)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.