
corregir sql
Publicado por jhean carlos (13 intervenciones) el 05/07/2012 00:05:51
como estan necesito una ayudita tengo un SQL que me muestra los datos ultimos registrados
en mi tabla registro_de_proyecto no se mueven los datos pero en actualizacion_seguimiento_de_pagos se van a cumulando datos y se muestran los ultimo registrados
pero tengo otra tabla actualizacion_contrato que se van acumulando datos pero no puedo sacar el ultimo registrado.
mi SQL que tengo me funciona bien
*********************************************************************
SELECT T1.codigo_proyecto,T1.nombre_proyecto,T3.numero_contrato,T3.empresa_supervisor,T3.fecha_orden_de_proceder,T3.monto_actu_en_bs,T2.avance_fisico_total,T2.avance_financiero_total,T1.estado_vigente_concluido
FROM registro_de_proyecto T1
INNER JOIN actualizacion_seguimiento_de_pagos T2 ON T1.codigo_proyecto = T2.codigo_proyecto AND T1.codigo_usuario='3' AND estado_vigente_concluido='vigente'
INNER JOIN registro_de_contrato T3 ON T1.codigo_proyecto = T3.codigo_proyecto
INNER JOIN
(SELECT MAX(fecha_actualizacion) fecha_actualizacion
FROM
actualizacion_seguimiento_de_pagos
GROUP BY
codigo_proyecto) TM ON T2.fecha_actualizacion = TM.fecha_actualizacion;
*********************************************************************
ahora modifique para que me funciona pero no me funciona
*********************************************************************
SELECT T1.codigo_proyecto,T1.nombre_proyecto,T3.numero_contrato,T3.empresa_supervisor,T3.fecha_orden_de_proceder,T4.plazo_actualizado_dias_calendario,T3.monto_actu_en_bs,T2.avance_fisico_total,T2.avance_financiero_total,T1.estado_vigente_concluido
FROM registro_de_proyecto T1
INNER JOIN actualizacion_seguimiento_de_pagos T2 ON T1.codigo_proyecto = T2.codigo_proyecto AND T1.codigo_usuario='3' AND estado_vigente_concluido='vigente'
INNER JOIN registro_de_contrato T3 ON T1.codigo_proyecto = T3.codigo_proyecto
INNER JOIN actualizacion_contrato T4 ON T2.codigo_contrato = T4.codigo_contrato
INNER JOIN
(SELECT MAX(fecha_actualizacion) fecha_actualizacion
FROM
actualizacion_seguimiento_de_pagos
GROUP BY
codigo_proyecto) TM ON T2.fecha_actualizacion = TM.fecha_actualizacion
**********************************************************************
pero no puedo sacar el ultimo registro de la tabla actualizacion_contrato solo se me acumula mas tuplas por cada dato y no asi solo uno
los campos que tengo son si de algo sirve.
cod_actualizacion_contrato (no se repite clave primaria)
codigo_contrato (repite)
codigo_usuario (repite)
fecha_actualizacion (no se repite)
plazo_actualizado_dias_calendario (no se repite)
espero que me puedan ayudar....
gracias!!!!!!!!
en mi tabla registro_de_proyecto no se mueven los datos pero en actualizacion_seguimiento_de_pagos se van a cumulando datos y se muestran los ultimo registrados
pero tengo otra tabla actualizacion_contrato que se van acumulando datos pero no puedo sacar el ultimo registrado.
mi SQL que tengo me funciona bien
*********************************************************************
SELECT T1.codigo_proyecto,T1.nombre_proyecto,T3.numero_contrato,T3.empresa_supervisor,T3.fecha_orden_de_proceder,T3.monto_actu_en_bs,T2.avance_fisico_total,T2.avance_financiero_total,T1.estado_vigente_concluido
FROM registro_de_proyecto T1
INNER JOIN actualizacion_seguimiento_de_pagos T2 ON T1.codigo_proyecto = T2.codigo_proyecto AND T1.codigo_usuario='3' AND estado_vigente_concluido='vigente'
INNER JOIN registro_de_contrato T3 ON T1.codigo_proyecto = T3.codigo_proyecto
INNER JOIN
(SELECT MAX(fecha_actualizacion) fecha_actualizacion
FROM
actualizacion_seguimiento_de_pagos
GROUP BY
codigo_proyecto) TM ON T2.fecha_actualizacion = TM.fecha_actualizacion;
*********************************************************************
ahora modifique para que me funciona pero no me funciona
*********************************************************************
SELECT T1.codigo_proyecto,T1.nombre_proyecto,T3.numero_contrato,T3.empresa_supervisor,T3.fecha_orden_de_proceder,T4.plazo_actualizado_dias_calendario,T3.monto_actu_en_bs,T2.avance_fisico_total,T2.avance_financiero_total,T1.estado_vigente_concluido
FROM registro_de_proyecto T1
INNER JOIN actualizacion_seguimiento_de_pagos T2 ON T1.codigo_proyecto = T2.codigo_proyecto AND T1.codigo_usuario='3' AND estado_vigente_concluido='vigente'
INNER JOIN registro_de_contrato T3 ON T1.codigo_proyecto = T3.codigo_proyecto
INNER JOIN actualizacion_contrato T4 ON T2.codigo_contrato = T4.codigo_contrato
INNER JOIN
(SELECT MAX(fecha_actualizacion) fecha_actualizacion
FROM
actualizacion_seguimiento_de_pagos
GROUP BY
codigo_proyecto) TM ON T2.fecha_actualizacion = TM.fecha_actualizacion
**********************************************************************
pero no puedo sacar el ultimo registro de la tabla actualizacion_contrato solo se me acumula mas tuplas por cada dato y no asi solo uno
los campos que tengo son si de algo sirve.
cod_actualizacion_contrato (no se repite clave primaria)
codigo_contrato (repite)
codigo_usuario (repite)
fecha_actualizacion (no se repite)
plazo_actualizado_dias_calendario (no se repite)
espero que me puedan ayudar....
gracias!!!!!!!!
Valora esta pregunta


0