From: | "Silvio Quadri" <silvioq(at)gmail(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Fwd: Comparar valores Nulos |
Date: | 2008-01-18 18:25:41 |
Message-ID: | 61dc71dc0801181025p66c6ad1y8e535b391eda831b@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
El día 18/01/08, Consuelo Marmolejo <consuelo_marmolejo(at)hotmail(dot)com>
escribió:
>
>
> Que tal.
> Dentro de postgres no puedo comparar los valores nulos dentro de mis
> tablas; me explico con este ejemplo:
>
> Digamos que tenemos estas tablas:
>
> -- Tabla1 --
> id_tabla1 | nombre | profesion | color
> -----------+---------+---------------+---------
> 1 | Miguel | | Azul
> 2 | Alvaro | Análista |
> 3 | Jorge | Administrador | Rojo
> 4 | Roberto | | Violeta
> 5 | Miriam | Secretaria |
>
> -- Tabla2 --
> id_tabla2 | nombre | profesion | color
> -----------+---------+---------------+---------
> 5 | Miguel | | Azul
> 4 | Alvaro | Análista |
> 2 | Jorge | Administrador | Rojo
> 1 | Roberto | | Violeta
> 3 | Miriam | Secretaria |
>
> (Los espacios en blanco son valores NULL dentro de la tabla).
> Ahora si pueden observar lo único que cambia son los id's dentro de ambas
> tablas; al hacer la consulta:
>
> db_local2=# SELECT id_tabla1, id_tabla2, nombre, profesion, color FROM
> tabla1 INNER JOIN tabla2 USING(nombre, profesion, color);
>
> id_tabla1 | id_tabla2 | nombre | profesion | color
> -----------+-----------+--------+--------------------+-------
> 3 | 2 | Jorge | Administrador | Rojo
>
>
> El único resultado que trae es este.
> Si bien puedo hacer un "CASE" para columna que tentativamente tenga un
> valor nulo; no hay una forma más práctica?
> Alguna forma de hacer que postgres me tome en consideración los valores
> Nulos, para obtener este resultado:
>
> id_tabla1 | id_tabla2 | nombre | profesion | color
> -----------+-----------+----------+--------------------+---------
> 1 | 5 | Miguel | |
> Azul
> 2 | 4 | Alvaro | Análista |
> 3 | 2 | Jorge | Administrador | Rojo
> 4 | 1 | Roberto | |
> Violeta
> 5 | 3 | Miriam | Secretaria |
>
>
>
> _________________________________________________________________
> ¡Súper premios en nanometrajes subiendo tu video!
> http://cine.prodigymsn.com/nanometraje--
> TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá
> leerlo
>
Lamentablemente según las especificaciones del SQL, null = null te va a dar
siempre falso. Tenés que usar null is null.
Hacé esta prueba ...
# select null = null;
?column?
----------
(1 row)
# select null is null;
?column?
----------
t
(1 row)
Silvio
--
Silvio Quadri
From | Date | Subject | |
---|---|---|---|
Next Message | Silvio Quadri | 2008-01-18 18:58:02 | Re: Comparar valores Nulos |
Previous Message | Agustin Ignacio Genoves | 2008-01-18 18:21:48 | Re: Comparar valores Nulos |