Clause SELECT dans un CASE <champ> WHEN <valeur ou condition> THEN <requête SELECT>
Bonjour à tous,
Je travaille sur un projet consistant à créer un ED (Entrepot de données) avec l'ETL Talend. J'utilise WAMP Server et je bloque sur une requête SQL consistant à compter le nombre de tests faits sur un élément et le nombre d'occurence de cet élément dans la table.
Voici mes tables:
Code:
1 2 3 4 5 6 7 8
|
name(id_bacteria, name)
eventbacteria(id_antibiogram, id_bacteria,nb_test,frequency)
antibiogram(id_antibiogram)
bilan(id_bilan)
eventresult(id_bilan, id_antibiogram, id_test,result)
test(id_test, antibiotic)
|
name contient la liste des bactéries contenue dans une BD
eventbacteria est une table des faits
antibiogram contient l'identifiant de la série de tests effectué sur un id_bacteria (sur une bactérie)
eventresult table des faits
test contient la liste des antibiotiques testés sur une bactérie
A un id_antibiogram (unique) on associe un et un seul id_bacteria sur leqquel on test 1..n id_test.
Ce que je voudrais c'est dans mon champ nb_test de eventbacteria compter tous les id_test rattachés au même id_antibiogram
J'ai testé le code suivant mais ça passe pas
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
SELECT eventbacteria.id_antibiogram
CASE eventbacteria.id_bacteria
WHEN 'numero' THEN
SELECT COUNT(id_test.test)
FROM test
WHERE test.id_test = eventresult.id_test
AND eventresult.id_antibiogram = antibiogram.id_antibiogram
AND antibiogram.id_antibiogram = eventbacteria.antibiogram
ELSE '0'
END
"NB_TEST"
FROM eventbacteria |
Est il possible d'exécuter un SELECT après un THEN? j'ai vu sur le net qu'en général après le WHEN 'x' THEN SELECT 'y' il écrira y. Je veux exécuter une requête après le THEN. Comment faire?
D'avance merci...