J'ai une table jointe qui comprend les colonnes suivantes :
id_cat | category | risk_factor | rs | id_sample | R1 | R2 | rs
et je veux générer un tableau comme :
category | total | high | medium | low
où total, élevé, moyen et faible sont des sommes dérivées d'un calcul qui détermine si le "facteur de risque" est égal à "R1" ou à "R2" pour cette ligne,
selon le pseudo-code suivant
SELECT
category,
count(*) as total,
sum(case when R1 = risk_factor and R2 = risk_factor) = 1 as high,
sum(case when R1 = risk_factor or R2 = risk_factor) = 1 as med,
sum(case when R1 <> risk_factor and R2 <> risk_factor) = 1 as low
FROM mydatabase.mytable1
JOIN mydatabase.mytable2 as r
ON mytable1.rs=r.rs
WHERE id_sample = 'sample1'
GROUP BY category
ORDER BY category ASC;
Ma question est de savoir comment syntaxer correctement les instructions case dans les instructions sum.