Bonjour à tous,
J'ai imaginé le code ci-dessous :
Dans ma base de données, j'ai plusieurs lignes pour un seul ID et je souhaite en récupérer qu'une ligne, et c'est celle qui aura le plus petit chiffre dans la variable NV_TITRE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 SELECT table1.*, CASE WHEN table1.created_by LIKE '%@monentreprise.com' AND (table1.titre LIKE 'DON%' OR table1.titre LIKE 'REP%') THEN 1 WHEN table1.created_by LIKE '%@monentreprise.com' AND table1.titre LIKE 'LIVRE%' THEN 2 WHEN table1.created_by NOT LIKE '%@monentreprise.com' AND table1.titre LIKE 'DON%' THEN 3 WHEN table1.created_by NOT LIKE '%@monentreprise.com' AND table1.titre LIKE 'LIVRE%' THEN 4 END AS NV_TITRE
Mais la fonction MIN(NV_TITRE) n'est pas valide car champs n'existe pas dans ma base.
Auriez-vous une autre idée svp ? J'aimerai que la boucle WHEN agisse comme un IF en VBA, c'est-à-dire, que dès quelle trouve un résultat elle passe à l'ID suivant. Alors que là, j'ai plusieurs ID qui ressortent car ils ont la condition 1, 2, 3, ... qui sont vraies.
et lorsqu'à la fin j'écris GROUP BY ORDER_ID ça me mets en erreur...
Je suis débutante, j'espère avoir été claire. Merci d'avance pour votre aide.
Belle journée à tous!
Partager