Gracias a Anthony y a Armando por sus respuestas!!
Estuve probando la opcion de usar WITH y los resultados no me lo da como 
requiero.El resultado es de esta manera:
with Va as (SELECT nombres||' '||apellidos AS "varones"FROM clienteWHERE 
sexo='M'),He as (SELECT nombres||' '||apellidos AS "hembras"FROM clienteWHERE 
sexo='F' )select Va.varones, He.hembras from Va,He
  Varones                                HembrasMICHAEL JORDAN           MARIA 
SHARAPOVAMICHAEL JORDAN           ANNA KOURNIKOVAALBERT PUJOLS               
MARIA SHARAPOVA"ALBERT PUJOLS               ANNA KOURNIKOVA"MIKE TYSON          
          MARIA SHARAPOVA"MIKE TYSON                    ANNA KOURNIKOVA"
En verdad nunca había utilizado la instrucción with.
La parte final la modifiqué de la siguiente manera:
select va.varones, he.hembras from Va full outer join He on 
(va.codigo=he.codigo);
Pero el resultado tampoco es el esperado:
Varones                               HembrasMICHAEL JORDANALBERT PUJOLSMIKE 
TYSON
                                        ANNA KOURNIKOVA                         
               MARIA SHARAPOVA
Se necesita que salga de esta manera:
Varones                               HembrasMICHAEL JORDAN             ANNA 
KOURNIKOVAALBERT PUJOLS                MARIA SHARAPOVAMIKE TYSON

Nota:Utilizo postgresql 9.1 en ubuntu 12.04

ing. José Fermín Francisco Ferreras 
San Francisco de Macorís, Rep. Dom. 


Date: Sun, 22 Jul 2012 12:48:43 -0400
From: asotolo...@uci.cu
To: josefermi...@hotmail.com
CC: pgsql-es-ayuda@postgresql.org
Subject: Re: [pgsql-es-ayuda] Tabla cliente y dividirla por sexo




  


El 21/07/2012 12:52, José Fermín Francisco Ferreras escribió:

  
  Hola a Todos!!

  

Tengo una tabla llamada cliente

  

create table cliente(

codigo serial primary key,

nombres varchar(100),

apellidos varchar(100),

sexo char(1)

)

  

y necesito presentar los datos de la siguiente manera:

  

  Varones                               Hembras

  

Jose Lopez                            Maria Jimenez

Luis Agosto                           Carolina Disla

Domingo Almanzar   

Juan Duran

  

osea los datos estan todos en una misma tabla y de manera desordenada y
se necesita presentarlo de la manera anterior.

  

Mi pregunta es:

  

Se puede trabajar este caso con cursores y tablas temporales o bien
podría hacerse con una consulta SQL, y cual es la manera más eficiente
de hacerlo de los dos casos??

  

  

  

  ing. José Fermín Francisco Ferreras 

San Francisco de Macorís, Rep. Dom. 

  
  
  

  
  

  
Buenos días según entiendo necesitas los datos resultados en una misma
consulta ,si estas en una versión superior a 8,4 de postgresql  puedes
utilizar las CTE con la clausula with



ejemplo

with Va as (SELECT nombres||' '||apellidos AS "varones"

FROM cliente

WHERE sexo='M'),

He as (SELECT nombres||' '||apellidos AS "hembras"

FROM cliente

WHERE sexo='F' )



select Va.varones, He.hembras from Va,He





saludos











                                          

Responder a