Remplacement de valeurs "NULL" [ORACLE] - SQL/NoSQL - Programmation
Marsh Posté le 01-12-2011 à 15:17:03
Oui, mais donne d'abord un exemple de requête
Marsh Posté le 01-12-2011 à 15:18:47
Sinon la réponse est probablement LEFT JOIN, mais sans requête pour illustrer c'est loin d'être limpide.
Marsh Posté le 01-12-2011 à 15:42:59
Je voulais pas donner une requête direct, c'est vrai que j'ai déjà des jointures faites entre les tables :
Code :
|
Le truc c'est que j'utilise plusieurs fois la même table (utilisateur), ça fonctionne bien pour le lecteur et la secrétaire.
En gros ce sont des Compte rendus médicaux qui sont lus par plusieurs personnes et la requête sert à ressortir le nom des 3 lecteurs et de la secrétaire => ça fonctionne bien pour le lecteur 1 et la secrétaire qui sont obligatoirement renseignés, mais je n'arrive pas à sortir les autres (conversion n° utilisateur vers le nom) car leur valeur peut être 'null'.
/* utilisateur : contient l'id et le nom
resultat : contient les id des gens qui ont lu (lecteur 1, 2, 3, secrétaire) */
ça fait un petit moment que j'essaye mais j'y arrive pas
Le plus gros souci c'est d'avoir la correspondance n° > nom même pour les valeurs 'null' (qui doivent sortir)
Marsh Posté le 01-12-2011 à 15:51:32
Un truc du genre :
Code :
|
le (+) a coté de "lec2.nuutil", c'est la syntaxe d'oracle pour le Left Join.
En gros, Lire : Si pas d'enregistrement en ajouter un avec NULL.
A+
Marsh Posté le 02-12-2011 à 09:33:38
Merci beaucoup ça fonctionne
J'avais déjà tenté le (+) mais je l'avais écrit : (+)= au lieu de le mettre juste à côté du champ.
Marsh Posté le 03-12-2011 à 14:14:54
heu non le (+) sous oracle c'est pour faire une jointure externe
suivant où tu le place il est jointure externe gauche ou jointure externe droite
Marsh Posté le 03-12-2011 à 17:33:28
couak a écrit : heu non le (+) sous oracle c'est pour faire une jointure externe |
Je pense que l'erreur était de faire :
r.nulec2 =(+) lec2.nuutil
Au lieu de :
r.nulec2 = lec2.nuutil(+)
Marsh Posté le 01-12-2011 à 12:08:03
Salut
J'ai actuellement une base Oracle, un truc assez gros, et en résultat de requête j'ai à peu près ce schéma là :
... | id_user | nom
| 01234 | bla
mais de temps en temps j'ai id_user = "NULL", mais pour le coup quand je fais correspondre l'id avec le nom il ne me sort que les résultats pour lesquels il y a correspondance... La question serait :
Comment faire pour que je puisse avoir les valeurs "null" conservées dans l'affichage ? (pour avoir ça : )
... | id_user | nom
| 01234 | bla
| null | -vide-
Une petite idée ?
---------------
http://www.kevintran.fr