Me devuelve igual 9 registros....

 

De: [email protected] [mailto:[email protected]] En nombre de francisco prieto
Enviado el: lunes, 15 de agosto de 2011 04:19 p.m.
Para: GUFA List Member
Asunto: [GUFA] OT - query de un solo registro - SQL SERVER

 

Solo si es sqlserver podes hacer esto...

 

Select  tio.opc_numopc, tio.prp_codprp, tio.totInsOrd,

      cf.prd_codprd,  fpi_codprd, fpc_canfpc, fpi_canfpi, for_cancon, 
for_impnac,

      ti.TotIns,

      ConInsOrd = (totInsOrd * for_cancon)/ TotIns,

      CosInsOrd = (totInsOrd * for_impnac)/ TotIns

      into #TmpConsumoFormula

      from ##TmpTotInsOrd tio left join

                  xcosto_consumos_for cf

            on tio.prd_codprd = cf.prd_codprd

                  left join #TmpTotIns ti

            on  cf.prd_codprd = ti.prd_codprd

            where cf.cia_codcia = @p_codcia

              and cf.suc_codsuc = @p_codsuc

              and cf.ano_codano = @p_codano

              and cf.mes_codmes = @p_codmes

Group by tio.opc_numopc, tio.prp_codprp, tio.totInsOrd,

      cf.prd_codprd,  fpi_codprd, fpc_canfpc, fpi_canfpi, for_cancon, 
for_impnac,

      ti.TotIns

 

Pero te recomiendo que estraigas primero los registros que te sirven... es 
decir el group by mas corto que se pueda y luego...

 

Select * from xxx where campo in (select de los elegidos)

 

Saludos,

 

Pancho

Cordoba

 

2011/8/15 Miguel Canchas <[email protected]>

Si, bueno no lo explique bien,  en total me muestra 9 registros, de estos solo 
me sirven 3 que son de 3 grupos diferentes, lo que necesito es que muestre uno 
de cada grupo...

 

MK

 

De: [email protected] [mailto:[email protected]] En nombre de francisco prieto
Enviado el: lunes, 15 de agosto de 2011 04:01 p.m.
Para: GUFA List Member
Asunto: [GUFA] OT - query de un solo registro - SQL SERVER

 

Select Top 1 tio.opc_numopc, tio.prp_codprp, tio.totInsOrd,

      cf.prd_codprd,  fpi_codprd, fpc_canfpc, fpi_canfpi, for_cancon, 
for_impnac,

      ti.TotIns,

      ConInsOrd = (totInsOrd * for_cancon)/ TotIns,

      CosInsOrd = (totInsOrd * for_impnac)/ TotIns

      into #TmpConsumoFormula

      from ##TmpTotInsOrd tio left join

                  xcosto_consumos_for cf

            on tio.prd_codprd = cf.prd_codprd

                  left join #TmpTotIns ti

            on  cf.prd_codprd = ti.prd_codprd

            where cf.cia_codcia = @p_codcia

              and cf.suc_codsuc = @p_codsuc

              and cf.ano_codano = @p_codano

              and cf.mes_codmes = @p_codmes

 

Saludos,

 

Pancho

Cordoba

 

2011/8/15 Miguel Canchas <[email protected]>

select tio.opc_numopc, tio.prp_codprp, tio.totInsOrd, 

      cf.prd_codprd,  fpi_codprd, fpc_canfpc, fpi_canfpi, for_cancon, 
for_impnac, 

      ti.TotIns,

      ConInsOrd = (totInsOrd * for_cancon)/ TotIns,

      CosInsOrd = (totInsOrd * for_impnac)/ TotIns

      into #TmpConsumoFormula

      from ##TmpTotInsOrd tio left join 

                  xcosto_consumos_for cf 

            on tio.prd_codprd = cf.prd_codprd

                  left join #TmpTotIns ti

            on  cf.prd_codprd = ti.prd_codprd

            where cf.cia_codcia = @p_codcia 

              and cf.suc_codsuc = @p_codsuc

              and cf.ano_codano = @p_codano

              and cf.mes_codmes = @p_codmes

 

TENGO ESTA consulta, lo que deseo es que solo me arroje un registro(en la 
actualidad arroja 3), no importa cual de ellas sea, se podra hacer eso ¿?

 

 

Gracias

 

MK

 

 

 

Responder a