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:
name contient la liste des bactéries contenue dans une BD
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
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
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?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
D'avance merci...
Partager