Pages: 1
- Sujet précédent - (Postgre HELP] souci pour remonter un attribut dans une vue - Sujet suivant
#1 Tue 20 June 2023 16:48
- barthsdee
- Participant occasionnel
- Date d'inscription: 23 Aug 2011
- Messages: 45
(Postgre HELP] souci pour remonter un attribut dans une vue
Bonjour,
J'ai une vue géante alimentée par une cinquantaine de tables,
JE cherche à faire des opérations sur des attributs:
J'ai 3 tables codant des informations (à chaque fois on est sur du Null,1;5)
La présence de null dans les tables m'empèche de faire des additions.
Dans le code de ma vue , je saisis donc concat (table1,table2,table3) as ma_valeur
ça marche
Je me retrouve avec 5 combinaisons possibles: 1;11;5;15,Null en résultat
Mon problème est le suivant: je n'arrive pas à convertir ces valeurs en texte plus explicite pour l'utilisateur final via une jointure de table .
Je souhaite remplacer les valeurs 1 et 11 par oui et null /5 et 15 par non ou null
J'ai tenté en créant une table de correspondance et en faisant une jointure de table, cependant ça ne marche pas (la jointure semble ne pas passer car en boucle)
Hors ligne
#2 Tue 20 June 2023 18:37
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: (Postgre HELP] souci pour remonter un attribut dans une vue
Bonsoir,
Vous pouvez remplacer les valeurs nulles par autre chose, ce que je vous conseille de faire si vous voulez faire des opérations avec vos colonnes.
la fonction sql coalesce(col, val) renvoie val si col est NULL,
dans votre cas, faites coalesce(col, 0) : null devient 0.
Pour créer de nouvelles valeurs à partir de valeurs de colonnes, vous pouvez utiliser la construction CASE (sorte de if then else)
Code:
case when col in (1, 11) then 'oui' when col in (0, 5, 15) then 'non' else 'peut etre' end
Nicolas
Hors ligne
Pages: 1
- Sujet précédent - (Postgre HELP] souci pour remonter un attribut dans une vue - Sujet suivant