Bonjours,

Voila je voudrais mettre en place une fonction qui me retourne toutes les valeurs definies comme par defaut (champ IS_DEFAUT à 1) dans ma base de données. Ces valeurs par defauts sont réparties dans différente table sans relation entre elles et chaque table possède un seul enregistrement par defaut ou non (mais pas 2).

Le requète doit donc retourner 1 seul ligne de résultat.

Voila ou je coince ! c'est que je ne sais pas retourner toutes ces valeurs en une seul requète.

Pour le moment voile ce que j'ai réalisé :

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
16
17
18
19
20
21
22
 
SELECT iu.ID_URGENCE, iu.LIBELLE_URGENCE,
il.ID_LIEU, il.NOM_LIEU, il.ADRESSE1_LIEU, il.ADRESSE2_LIEU, il.ADRESSE3_LIEU, il.VILLE_LIEU, il.CODE_POSTAL_LIEU,
icu.ID_USER_CONTACT, icu.CIVILITE_USER_CONTACT, icu.ADRESSE1_USER_CONTACT, icu.ADRESSE2_USER_CONTACT, icu.ADRESSE3_USER_CONTACT,
icu.CODE_POSTAL_USER_CONTACT, icu.VILLE_USER_CONTACT, icu.NOM_USER_CONTACT, icu.PRENOM_USER_CONTACT, icu.TELEPHONE1_USER_CONTACT,
icu.TELEPHONE2_USER_CONTACT, icu.FAX_USER_CONTACT, icu.MAIL_USER_CONTACT,
ida.ID_DANGER, ida.LIBELLE_DANGER,
ib.ID_BLOCAGE, ib.LIBELLE_BLOCAGE,
ido.ID_DOMAINE, ido.LIBELLE_DOMAINE,
ide.ID_DELAI, ide.LIBELLE_DELAI,
ina.ID_NATURE, ina.LIBELLE_NATURE
FROM INT_URGENCE iu, INT_DANGER ida, INT_BLOCAGE ib, INT_DOMAINE ido, INT_LIEU il, INT_CONTACT_USER icu, INT_DELAI ide, INT_NATURE ina
WHERE iu.IS_DEFAUT_URGENCE = 1
AND ida.IS_DEFAUT_DANGER = 1
AND ib.IS_DEFAUT_BLOCAGE = 1
AND ido.IS_DEFAUT_DOMAINE = 1
AND ide.IS_DEFAUT_DELAI = 1
AND ina.IS_DEFAUT_NATURE = 1
AND icu.ID_USER_CONTACT = (SELECT icu.ID_USER_CONTACT FROM INT_LST_CONTACT_USER ilcu
INNER JOIN INT_CONTACT_USER icu ON (ilcu.ID_USER_CONTACT = icu.ID_USER_CONTACT AND ilcu.USER_NUM_ID = 1 AND ilcu.IS_DEFAUT = 1))
AND il.ID_LIEU = (SELECT il.ID_LIEU FROM INT_LIEU_USER ilu
INNER JOIN INT_LIEU il ON (ilu.ID_LIEU = il.ID_LIEU AND ilu.USER_NUM_ID = 1 AND ilu.IS_DEFAUT = 1)
Cette fonction retourne bien les valeurs par defaut de toutes les tables mais seulement dans le cas ou toutes les tables possède une valeur par defaut ! si une de ces table n'a pas de valeur par defaut alors la requète ne retourne plus rien ! alors qu'elle devrais retourner toutes les autres valeurs par defaut !

Je n'ai pas d'idée pour régler ce problèmes

Merci beaucoup