0
Je rencontre un problème lors de l'utilisation de l'instruction CASE plusieurs fois dans une requête sql dans PYTHON. Je me demande si je peux supprimer l'instruction CASE et créer un modèle, puis je peux replacer le paramètre template dans la requête d'origine. Comme ceci:Python, insérez une instruction case dans une requête sql
case_stm_template =
crs.execute("""
CASE
WHEN level_1 = 'Corporate'
THEN
CASE
WHEN ssr.rating = 'A' OR ssr.rating LIKE 'A[+-]'
THEN 'Corp A'
WHEN ssr.rating = 'AA' OR ssr.rating LIKE 'AA[+-]'
THEN 'Corp AA'
WHEN ssr.rating = 'BBB' OR ssr.rating LIKE 'BBB[+-]'
THEN 'Corp BBB'
ELSE NULL
END
WHEN level_1 = 'Government' AND level_2 = 'Provincial'
THEN 'Prov'
WHEN level_1 = 'Government' AND level_2 = 'Federal'
THEN 'Canada'
ELSE NULL
END
""")
mettre cela en
crs.execute("""
SELECT
...
case_stm_template,
SUM(...)
FROM ....
WHERE ....
GROUP BY
case_stm_template
""".format(...))
Cela ne fonctionne pas. Quelqu'un peut-il m'aider? THX!!!