Sans utiliser de fonctions personnalisées, est-il possible dans SQLite d'effectuer les opérations suivantes. J'ai deux tables, qui sont liées par des numéros d'identification communs. Dans la deuxième table, il y a deux variables. Ce que je voudrais faire est de pouvoir retourner une liste de résultats, composée de: l'identifiant de ligne, et NULL si toutes les instances de ces deux variables (et il peut y en avoir plus de deux) sont NULL, 1 si elles sont toutes 0 et 2 si un ou plusieurs est 1."if, then, else" dans SQLite
ce que j'est en ce moment comme suit:
SELECT
a.aid,
(SELECT count(*) from W3S19 b WHERE a.aid=b.aid) as num,
(SELECT count(*) FROM W3S19 c WHERE a.aid=c.aid AND H110 IS NULL AND H112 IS NULL) as num_null,
(SELECT count(*) FROM W3S19 d WHERE a.aid=d.aid AND (H110=1 or H112=1)) AS num_yes
FROM W3 a
Alors, que cela demande est à l'étape par chaque résultat comme suit (pseudo-code Python brut):
if row['num_yes'] > 0:
out[aid] = 2
elif row['num_null'] == row['num']:
out[aid] = 'NULL'
else:
out[aid] = 1
Existe-t-il un moyen plus simple? Merci!
Excellent, merci pour cela! –