Bonjour,
J’ai un problème pour arriver à mes fins en SQL .
Contexte : j’ai besoin d’une liste déroulante constituée des noms de végétaux et de leur code de protection.
La difficulté : ce code de protection peut être soit 1 ou 2 (protection national), soit 3 (régional) soit 4 (départemental) soit 5 (rien). Ce code change donc pour un même végétal suivant le département où l’on est.
Ce que j’ai fait au final, me fourni une table et une requête :
- La table : table avec la liste complète de la flore avec un code de protection : 1, 5 et 9. Le code 9 voulant dire à la base : regarde au niveau regional ou au niveau départemental si le code de protection est 3 ou 4 ou 5 (rien).
- La requête : via plusieurs manip’, j’obtiens d’une requête une liste des végétaux dont le code varie dans les différents départements (donc qui avait le code 9), avec le code de protection spécifique du département où l’on est (code 3 ou 4).
Mon problème :
Si je fais une table union de ces deux tables/requetes : j’obtiens :
Table Flore totale
NomLatin Code
Vegetal 1 1
Vegetal 2 9
Vegetal 3 5
Vegetal 4 9
+
Requête FloreDepartement 1
NomLatin Code
Vegetal 2 4
=
Requête Flore (liste déroulante du département 1)
NomLatin Code
Vegetal 1 1
Vegetal 2 9
Vegetal 2 4
Vegetal 3 5
Vegetal 4 9
Question : COMMENT EVITER CE DOUBLON POUR VEGETAL 2 ? et lui dire de garder l’enregistrement avec le code différent de 9 ?
Je ne peux pas faire de mise à jour sur la table flore puisque elle est réutilisée quand on explore un autre département.
J’ai bien pensé à faire une étape avec distinct ou distinct row : mais en fait ca ne semble rien donner de concluant… (je perds l’info du code de protection)
Est-ce qu’il y a une autre requête SQL que « union » à faire ?
Avez-vous des suggestions ou des critiques ou des solutions ?
En tout cas, merci d’avance, parce que je ne sais plus quoi faire ….
Partager