09/03/2010, 09:43
|
| | Fecha de Ingreso: junio-2009
Mensajes: 92
Antigüedad: 15 años, 5 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? |