Ver Mensaje Individual
  #11 (permalink)  
Antiguo 09/03/2010, 09:43
cce
 
Fecha de Ingreso: junio-2009
Mensajes: 92
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: secuencia select anidadas en postgresql¿

Te lo paso mas prolijo:

Probe las dos secuencias y solo me devuelve el ultimo de la lista que encuentra. Me deberia devolver 4 filas y de esas 4 solo me devuelve la ultima.

Tengo dos tablas:

CREATE TABLE ra
( ID smallint not null,
FCHL TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
DMN varchar(12),
NYA varchar(30) not null,
DNI varchar(15) not null,
primary key (ID,FCHL)) without oids;

CREATE TABLE hcv
( ID smallint,
RCM varchar(25),
FCHL TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
primary key (ID, FCHL)) without oids;


Suponiendo que estos son los dos ultimos registros que se han almacenado, siendo que el campo " id " se repite muchas veces.

INSERT INTO ra (id,dmn,nya,dni) values (2,'6347','pepe','734957844');

INSERT INTO hcv (id,rcm) values(2,'6347');

De esta manera se van llenado las tablas: primero se llena la tabla " ra ", luego la tabla " hcv ".

SELECT nya, dni FROM ra as a INNER JOIN hcv AS b ON a.dmn = b.rcm WHERE b.fchl::date BETWEEN '2010-01-01' AND '2010-05-31';

Lo mismo me da si escribo esta secuencia:

select nya,dni from ra as a left outer join hcv as b
on a.dmn = b.rcm
where b.fchl between '2010-01-01' and '2010-05-01';

Me devuelve solo un registro, el ultimo:

nya dni
-------- ----------
pepe 734957844
(1 fila)



Por que me devuelve solo uno cuando me deberia devolver todos?