Traducción a Pl/Sql

CaBiRuT
07 de Junio del 2004
Hola, no soy capaz de traducir esta consulta en Ansi Sql a Pl/Sql, alguien me puede ayudar???

SELECT yfasepues.codienti,
yfasepues.coditrpt,
yfasepues.codipues,
yfasepues.numedota,
yfasepues.numefase,
yfasepues.codiempl,
yfasepues.fechpose,
yfasepues.fechcese,
yfasepues.codiadpu,
y.fechpose fechpose_null,
y.fechcese fechcese_null,
y.codienti codienti_null,
y.natuplaz natuplaz_null,
y.coditpla coditpla_null,
y.codiplaz codiplaz_null,
y.numefase numefase_null,
y1.fechpose fechpose_notnull,
y1.fechcese fechcese_notnull,
y1.codienti codienti_notnull,
y1.natuplaz natuplaz_notnull,
y1.coditpla coditpla_notnull,
y1.codiplaz codiplaz_nottull,
y1.numefase numefase_notnull
FROM yfasepues left outer join yfaseplaz y on yfasepues.codiempl = y.codiempl
and yfasepues.fechcese is null
and ((y.fechcese >=yfasepues.fechpose) or (y.fechcese is null))
left outer join yfaseplaz y1 on yfasepues.codiempl = y1.codiempl
and yfasepues.fechcese is not null
AND ((y1.fechpose BETWEEN yfasepues.fechpose AND yfasepues.fechcese)
OR
(y1.fechpose <= yfasepues.fechpose AND y1.fechcese BETWEEN yfasepues.fechpose AND yfasepues.fechcese)
OR
(y1.fechpose <= yfasepues.fechpose AND y1.fechcese >= yfasepues.fechcese)
OR
(y1.fechpose <= yfasepues.fechpose AND y1.fechcese IS NULL))
WHERE yfasepues.codiempl is not null


GRACIAS A TODOS

Rodolfo Reyes
07 de Junio del 2004
Creo que mas o menos asi sería:

SELECT yfasepues.codienti,yfasepues.coditrpt,yfasepues.codipues,yfasepues.numedota,yfasepues.numefase,
yfasepues.codiempl,yfasepues.fechpose,yfasepues.fechcese,yfasepues.codiadpu,y.fechpose fechpose_null,
y.fechcese fechcese_null,y.codienti codienti_null,y.natuplaz natuplaz_null,y.coditpla coditpla_null,
y.codiplaz codiplaz_null,y.numefase numefase_null,y1.fechpose fechpose_notnull,y1.fechcese fechcese_notnull,
y1.codienti codienti_notnull,y1.natuplaz natuplaz_notnull,y1.coditpla coditpla_notnull,y1.codiplaz codiplaz_nottull,
y1.numefase numefase_notnull
FROM yfasepues, yfaseplaz y,yfaseplaz y1
WHERE yfasepues.codiempl = y.codiempl(+)
and yfasepues.fechcese is null
and ((y.fechcese >=yfasepues.fechpose) or
(y.fechcese is null)
)
AND yfasepues.codiempl = y1.codiempl(+)
AND ((y1.fechpose BETWEEN yfasepues.fechpose AND yfasepues.fechcese)OR
(y1.fechpose <= yfasepues.fechpose AND y1.fechcese BETWEEN yfasepues.fechpose AND yfasepues.fechcese) OR
(y1.fechpose <= yfasepues.fechpose AND y1.fechcese >= yfasepues.fechcese) OR
(y1.fechpose <= yfasepues.fechpose AND y1.fechcese IS NULL)
)
AND yfasepues.codiempl is not null
/