Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Ignorar condición en clausula WHERE

Estas en el tema de Ignorar condición en clausula WHERE en el foro de PostgreSQL en Foros del Web. Buenas noches, Les cuento mi problema, tengo este query en oracle: SELECT c.nombre_cliente, cr.consecutivo, ci.estado_informe, ci.tipo_informe, ci.fecha_envioaud1, ci.fecha_revision1, ci.fecha_entrega, ci.nro_informe, mes_correspondiente, ci.periodo, ci.clase_informe FROM clientes_informes ...
  #1 (permalink)  
Antiguo 28/09/2008, 20:22
 
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 48
Antigüedad: 12 años, 8 meses
Puntos: 0
Ignorar condición en clausula WHERE

Buenas noches,

Les cuento mi problema, tengo este query en oracle:
SELECT c.nombre_cliente, cr.consecutivo, ci.estado_informe, ci.tipo_informe, ci.fecha_envioaud1, ci.fecha_revision1, ci.fecha_entrega, ci.nro_informe, mes_correspondiente,
ci.periodo, ci.clase_informe
FROM clientes_informes ci, clientes c, carta_remisoria cr
WHERE ci.tipo_auditoria = 'Financiera'
and ci.nro_cliente = c.nro_cliente
and c.estado = 'Vigente'
and ci.nro_cliente > 5000
and ci.tipo_compromiso = 'Obligatorio'
and ci.estado_informe = 'Definitivo'
and cr.nro_informe(+) = ci.nro_informe
AND ci.tipo_informe = 'Estados financieros definitivos'
and ci.clase_informe = 'Dictamen definitivo'
and ci.mes_correspondiente = 'Diciembre'
and ( ci.periodo is null OR ci.periodo = 0)
ORDER BY 1
Mi problema es que no logro encontrar en Postgres la equivalencia del operador (+)....

El query funciona perfectamente....

De antemano muchas gracias...

Janneth
  #2 (permalink)  
Antiguo 29/09/2008, 01:27
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 13 años, 8 meses
Puntos: 13
Respuesta: Ignorar condición en clausula WHERE

El operados (+) indica left o right join dependiendo del lado. Es nomenclatura antigua!
Te doy el equivalente en la "nueva" notación, de esta forma es más facil leer la query y buscar errores en los joins, dejando el WHERE solo para las condiciones.

Código:
select ...
FROM 	clientes_informes ci	
		clientes c					on ci.nro_cliente = c.nro_cliente
		left join carta_remisoria cr		on cr.nro_informe = ci.nro_informe
WHERE 	ci.tipo_auditoria = 'Financiera'
		and c.estado = 'Vigente'
		and ci.nro_cliente > 5000
		and ci.tipo_compromiso = 'Obligatorio'
		and ci.estado_informe = 'Definitivo'
		AND ci.tipo_informe = 'Estados financieros definitivos'
		and ci.clase_informe = 'Dictamen definitivo'
		and ci.mes_correspondiente = 'Diciembre'
		and ( ci.periodo is null OR ci.periodo = 0)
Salu2
  #3 (permalink)  
Antiguo 29/09/2008, 13:33
 
Fecha de Ingreso: febrero-2008
Ubicación: Colombia
Mensajes: 48
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Ignorar condición en clausula WHERE

Muchisimas gracias por tu ayuda.... logre solucionar el problema.... esa era la solución....

Janneth
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:27.