none
Como hacer para que no se me repitan los datos RRS feed

  • Pregunta

  • hola tengo una consulta en sql en la cual deso que me muestre las numero de factura tiene el comprobante
    esta la consulta uso

    ALTER  PROC  [dbo].[spSelectFact]
    @NoSol AS NVARCHAR (20),
    @No_Factura AS NVARCHAR(10),
    @NO_COMP AS NVARCHAR (10)
    AS

    SELECT
    cf2.cuenta, 
    cf2.DesCta,
    (cf2.Haber) Haber, 
    (cf2.Debe)Debe

    FROM
    CCH_COMPROB AS cc
    INNER JOIN CCH_FACTURA AS cf ON cf.NO_COMP = cc.NO_COMP
    INNER JOIN CCH_FACTURADETALLES AS cf2 ON cf2.NO_COMP = cc.NO_COMP
    WHERE cc. NoSol=@NoSol 
    AND cf2.No_Factura=@No_Factura
    AND cf2.NO_COMP=@NO_COMP OR  cf2.Debe > 0 AND cf2.Haber>0

    pero la consulta me repite n los datos

    el resultado que deseo es 

    S/N 10709 5106-0-51-1-112-05-000003 ALIMENTACIÓN EN EL INTERIOR 320 0
    S/N 10709 5106-0-51-1-113-02-000002 ARTÍCULOS DE CAFETERIA 240 0
    S/N 10709 6104-0-40-0-000-00-075152 DIANA OLMAYRA HERNANDEZ VICTOR 0 560
    S/N 10709 5106-0-51-1-112-05-000003 ALIMENTACIÓN EN EL INTERIOR 240 0
    S/N 10709 5106-0-51-1-113-02-000002 ARTÍCULOS DE CAFETERIA 180 0
    S/N 10709 6104-0-40-0-000-00-075152 DIANA OLMAYRA HERNANDEZ VICTOR 0 420
    S/N 10709 5106-0-51-1-112-05-000003 ALIMENTACIÓN EN EL INTERIOR 240 0
    S/N 10709 5106-0-51-1-113-02-000002 ARTÍCULOS DE CAFETERIA 180 0
    S/N 10709 6104-0-40-0-000-00-075152 DIANA OLMAYRA HERNANDEZ VICTOR 0 420
    S/N 10709 5106-0-51-1-112-05-000003 ALIMENTACIÓN EN EL INTERIOR 320 0
    S/N 10709 5106-0-51-1-113-02-000002 ARTÍCULOS DE CAFETERIA 240 0
    S/N 10709 6104-0-40-0-000-00-075152 DIANA OLMAYRA HERNANDEZ VICTOR 0 560

    jueves, 8 de septiembre de 2016 17:25

Respuestas

  • Hola!!!

    SELECT DISTINCT
    cf2.cuenta, 
    cf2.DesCta,
    (cf2.Haber) Haber, 
    (cf2.Debe)Debe

    FROM
    CCH_COMPROB AS cc
    INNER JOIN CCH_FACTURA AS cf ON cf.NO_COMP = cc.NO_COMP
    INNER JOIN CCH_FACTURADETALLES AS cf2 ON cf2.NO_COMP = cc.NO_COMP
    WHERE cc. NoSol=@NoSol 
    AND cf2.No_Factura=@No_Factura
    AND cf2.NO_COMP=@NO_COMP OR  cf2.Debe > 0 AND cf2.Haber>0

    De esta forma puedes evitar que se te repitan los datos

    SALUDOS 

    • Marcado como respuesta DOSA_INFORMATICA viernes, 9 de septiembre de 2016 19:38
    jueves, 8 de septiembre de 2016 22:26

Todas las respuestas

  • Saluso DOSA_INFORMATICA:

    Para evitar duplicados, se utiliza normalmente la palabra "DISTINCT", pero también tienes que tener en cuenta como estas relacionando tus datos, es decir un item de "CCH_COMPROB " esta relacionado con un unico item de "CCH_FACTURA" y a su vez con uno o vario items de "CCH_FACTURADETALLES"? esto hace que tu resultado sea único o no dependiendo de estas relaciones.

    Saludos cordiales.


    Camilo Villa

    jueves, 8 de septiembre de 2016 18:28
  • Hola!!!

    SELECT DISTINCT
    cf2.cuenta, 
    cf2.DesCta,
    (cf2.Haber) Haber, 
    (cf2.Debe)Debe

    FROM
    CCH_COMPROB AS cc
    INNER JOIN CCH_FACTURA AS cf ON cf.NO_COMP = cc.NO_COMP
    INNER JOIN CCH_FACTURADETALLES AS cf2 ON cf2.NO_COMP = cc.NO_COMP
    WHERE cc. NoSol=@NoSol 
    AND cf2.No_Factura=@No_Factura
    AND cf2.NO_COMP=@NO_COMP OR  cf2.Debe > 0 AND cf2.Haber>0

    De esta forma puedes evitar que se te repitan los datos

    SALUDOS 

    • Marcado como respuesta DOSA_INFORMATICA viernes, 9 de septiembre de 2016 19:38
    jueves, 8 de septiembre de 2016 22:26