PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 26/01/2017 12:15:58

Geo-x
Membre

Une ligne vide en résultat plutôt que rien

Bonjour @ tous.
J'ai un problème tout bête, si je fais cette requête :

SELECT nom FROM table WHERE nom = 'azerty'

et que la seule valeur présente dans ma table est qwerty je vais avoir en résultat, le nom de ma colonne sans tuple.
Si j'utilise la commande COALESCE, je n’aurais guère mieux.

Est-il possible d'avoir une tuple vide ou avec un résultat par défaut ? Et si oui comment faire ?

Par avance merci.

Geo-x

Hors ligne

#2 26/01/2017 12:41:47

rjuju
Administrateur

Re : Une ligne vide en résultat plutôt que rien

Ce n'est pas vraiment fait pour.  Vous pouvez contourner avec quelque chose comme

SELECT s.*, COALESCE(s.nom, 'valeur par defaut') FROM (SELECT nom FROM table WHERE nom = 'azerty') s RIGHT JOIN (SELECT 1) bidouille ON true

Hors ligne

#3 26/01/2017 14:57:55

Geo-x
Membre

Re : Une ligne vide en résultat plutôt que rien

Ce n'est pas vraiment fait pour

Je suis bien d'accord sur cet aspect théorique, mais dans la pratique, non seulement (dans des cas hyper rares je vous l'accorde) c'est utile, mais en plus, votre technique fonctionne très très bien et je vous en remercie !

Geo-x

Hors ligne

Pied de page des forums