Connect by
Hola,
Necesito hacer una select usando una join y el connect by. Oracle no me permite. ¿Como se puede realizar? Un ejemplo.
SELECT b.ID_SOCIEDAD, b.ID_EMPLEADO, b.FEC_ALTA_EMPLEADO, b.FEC_INICIO, b.FEC_FIN, b.ID_UNIDAD, b.FEC_INICIO,
a.ID_UNIDAD, a.FEC_INICIO
FROM M4T_UNIDADES_ORGANIGRAMA a, M4T_HIST_UNIDADES_ORGANIGRAMA B
WHERE b.ID_EMPLEADO = 4974
START WITH a.ID_UNIDAD = b.ID_UNIDAD AND a.FEC_INICIO = b.FEC_INICIO_UNIDAD
CONNECT BY a.ID_UNIDAD = PRIOR a.ID_UNIDAD_SUPERIOR AND a.FEC_INICIO = PRIOR a.FEC_INICIO_U_SUP
Muchas gracias,
Necesito hacer una select usando una join y el connect by. Oracle no me permite. ¿Como se puede realizar? Un ejemplo.
SELECT b.ID_SOCIEDAD, b.ID_EMPLEADO, b.FEC_ALTA_EMPLEADO, b.FEC_INICIO, b.FEC_FIN, b.ID_UNIDAD, b.FEC_INICIO,
a.ID_UNIDAD, a.FEC_INICIO
FROM M4T_UNIDADES_ORGANIGRAMA a, M4T_HIST_UNIDADES_ORGANIGRAMA B
WHERE b.ID_EMPLEADO = 4974
START WITH a.ID_UNIDAD = b.ID_UNIDAD AND a.FEC_INICIO = b.FEC_INICIO_UNIDAD
CONNECT BY a.ID_UNIDAD = PRIOR a.ID_UNIDAD_SUPERIOR AND a.FEC_INICIO = PRIOR a.FEC_INICIO_U_SUP
Muchas gracias,
Hola: Ojala que te sirva
Select:
select * from clientes;
select rut,dig_verificador,nombre from clientes;
select rut from clientes where dig_verificador='1';
Project:
select rut,dig_verificador,nombre from clientes;
Join:
select clientes.rut,clientes.nombre,telefonos.num_fono
from clientes,telefonos
where clientes.rut=telefonos.rut;
select h.rut,h.nombre,t.num_fono
from clientes h,telefonos t
where h.rut=t.rut
Division:
select nombre from clientes c,telefonos t
where (c.rut=t.rut and c.codi_ciudad='vald')
select nombre from clientes c
where c.rut in (select rut from telefonos
where c.codi_ciudad='vald')
Diference o Subtract:
select * from rentas
where codi_renta not in
(select codi_renta from rentas_fono)
Intersect:
select f.* from rentas r,rentas_fono f
where r.codi_renta=f.codi_renta
Nota: Similitud a lo realizado por las palabras reservadas
Select:
select * from clientes;
select rut,dig_verificador,nombre from clientes;
select rut from clientes where dig_verificador='1';
Project:
select rut,dig_verificador,nombre from clientes;
Join:
select clientes.rut,clientes.nombre,telefonos.num_fono
from clientes,telefonos
where clientes.rut=telefonos.rut;
select h.rut,h.nombre,t.num_fono
from clientes h,telefonos t
where h.rut=t.rut
Division:
select nombre from clientes c,telefonos t
where (c.rut=t.rut and c.codi_ciudad='vald')
select nombre from clientes c
where c.rut in (select rut from telefonos
where c.codi_ciudad='vald')
Diference o Subtract:
select * from rentas
where codi_renta not in
(select codi_renta from rentas_fono)
Intersect:
select f.* from rentas r,rentas_fono f
where r.codi_renta=f.codi_renta
Nota: Similitud a lo realizado por las palabras reservadas
