none
Orientación para realizar consulta RRS feed

  • Pregunta

  • Saludos amigos.

    Solicito de su experiencia para lograr realizar esta consulta:

    Cuento con 7 tablas, las cuales expondre de la siguiente forma brevemente:

    Registro de facturas con detalle:

    -egresos (id_egreso, fecha_global, importe_total)
    -egresos_detalle (id_egreso, id_tipo_egreso, id_catalogo, dcosto_unitario, dcantidad, dimporte_total)

    Donde id_catalogo tiene registro el id de la tabla con que se liga y el campo id_tipo_egreso tiene un ID para identificar con que tabla debera relacionarse

    Catalogos:

    -Tipo_egreso(id_tipo_egreso, cdescribe)  (pago, gasto, etc.)
    -Pagos (id_pago, cdescribe) (luz, agua, telefono...)
    -Refacciones(id_refaccion, cdescribe, cmarca) (vieleta, filtro....)
    -Combustible(id_combustible, cdescribe) (gasolina, diesel)
    -Gastos(id_gasto, cdescribe) (comidas, velador, chapoleo....)

    Mi objetivo es que al enviar al procedimiento almacenado el id_egreso, la consulta me devuelva el detalle que este ligado con el egreso.

    Ejemplo se envia el ID para conocer el detalle del hijo de los conceptos ligado al padre.
    id_egreso = 12

    Resultado de la consulta esperado:
    id_tipo_egreso, id_catalogo, cdescribe, dcosto_unitario, dcantidad, dimporte_total

    Con el generador de vistas hice algo así:

    SELECT        egresos_detalle.id_tipo_egreso, egresos_detalle.dcantidad, egresos_detalle.dcosto,  egresos.id_egresos, refacciones.cdescribe, refacciones.cmarca, egresos_detalle.dimporte
    FROM            egresos_detalle LEFT OUTER JOIN
                             refacciones ON egresos_detalle.id_catalogo = refacciones.id_refaccion LEFT OUTER JOIN
                             egresos ON egresos_detalle.id_egreso = egresos.id_egresos
    WHERE        (egresos.id_egresos = 12)

    Me es funcional, pero hay 2 registros de id_egreso, uno sale sin descripcion por que pertenece a la tabla de Mantenimientos.

    Muchas gracias, por su orientación

    Un saludo

    lunes, 10 de diciembre de 2018 20:02

Respuestas