Re: Re: [pgsql-fr-generale] Comparer des valeurs booléennes

From: Hervé Piedvache <herve(at)elma(dot)fr>
To: "Remi" <remi(at)chillet(dot)com>, "Francois Suter" <dba(at)paragraf(dot)ch>
Cc: <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: Re: [pgsql-fr-generale] Comparer des valeurs booléennes
Date: 2004-02-27 17:58:06
Message-ID: 200402271858.06282.herve@elma.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Remi,

Je ne sais pas bien si ca répond à ton problème, mais est-ce que cette
solution te satisfait ?

select case when exists (select 'x' from table where col1='t') then 't' else
'f' end as col1, case when exists (select 'x' from table where col2='t') then
't' else 'f' end as col2

Cordialement,

Le Mercredi 25 Février 2004 00:41, Remi a écrit :
> Bonsoir,
>
> Oui effectivement le resonnement est juste dans ton exemple mai j'ai
> besoin de comparer les resultats de toutes les lignes d'une colonne. Je
> veux un OR en effet:
>
> col1 | col2
> ------+------
> t | f
> t | f
> f | f
> f | f
>
> t |f --> Voila le resultat que je recherche
>
> Il y a bien la solution de remplacer true et false par 1 et 0 et de par le
> fait
>
> SELECT max(col1), max(col2) FROM table WHERE condition
>
> fonctionnerai mais je prefererais trouver une solution avec les valeurs
> booléennes ;-)
>
>
>
> ----- Original Message -----
> From: "Francois Suter" <dba(at)paragraf(dot)ch>
> To: "Remi" <remi(at)chillet(dot)com>
> Cc: <pgsql-fr-generale(at)postgresql(dot)org>
> Sent: Friday, February 20, 2004 12:21 PM
> Subject: Re: [pgsql-fr-generale] Comparer des valeurs booléennes
>
> > > SELECT max(bool1), max(bool2) FROM table WHERE condition;
> > >
> > > En fait j'aimerai effectuer un 'AND' a la palce du 'max' pour avoir
> > > comme resultat : true AND false = true. Pour resumer si j'ai
> > > uniquement des false dans la colonne j'aurais comme resulta false. Si
> > > j'ai au mojns un true dans la colonne j'aurais comme resulta true.
> > > Comment puis faire cette requete car bien evidemment celle de
> > > l'exemple me donne une erreur. J'ai essaye aussi de convertir la
> > > valeur booléenne en entier mais rien a faire:
> >
> > Euh, ben, si tu veux faire un AND, il suffit de le faire:
> >
> > select bool1 AND bool2 from table;
> >
> > Ca marche. En tout cas, avec PostgreSQL 7.3.4.
> >
> > Ceci dit, il me semble que ce que tu veux est un OR, mais ça marche
> > aussi:
> >
> > test=> select * from bouboul;
> > col1 | col2
> > ------+------
> > t | t
> > t | f
> > f | t
> > f | f
> > (4 rows)
> >
> > test=> select col1 OR col2 from bouboul;
> > ?column?
> > ----------
> > t
> > t
> > t
> > f
> > (4 rows)
>
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster

--
Hervé Piedvache

Elma Ingénierie Informatique
6 rue du Faubourg Saint-Honoré
F-75008 - Paris - France
Pho. 33-144949901
Fax. 33-144949902

In response to

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Jean-Paul ARGUDO 2004-02-28 10:05:46 Re: Des nouvelles...
Previous Message Jean-Christophe ARNU 2004-02-27 14:48:00 Re: Des nouvelles...