Oracle - Agrupacion de netos por años

 
Vista:
sin imagen de perfil

Agrupacion de netos por años

Publicado por NICO MONZON (2 intervenciones) el 24/03/2017 07:18:12
Buenas a todos, tengo la siguiente con que se muestra abajo, lo que quiero conseguir es que me muestre los importes netos por años....me podria alguien decir que es lo hice mal en la consulta...GRACIAS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
SELECT fecha,familia,
SUM(CASE WHEN YEAR(fecha) = 2015 THEN replace(round(neto_sin_iva, 2) - rappel,'.',',')) END AS 2015,
SUM(CASE WHEN YEAR(fecha) = 2016 THEN replace(round(neto_sin_iva, 2) - rappel,'.',',')) END AS 2016,
SUM(CASE WHEN YEAR(fecha) = 2017 THEN replace(round(neto_sin_iva, 2) - rappel,'.',',')) END AS 2017
FROM alma,
   (SELECT lin_codigo, mar_descripcion,
 
   LPad(mar_familia, 5, '') || '' || fam_nombre as Familia,
   LPad(mar_subfamilia, 5, ' ') || ' ' || subfam_nombre as SubFamilia,
   LPad('', 30, '') || '' || VEN_NOMBRE as VENDEDOR,
   TO_NUMBER(TO_CHAR(GLIN_FECHA, 'YYYY')) as fecha,
   mar_pre_costo costo_art, mar_pre_medio medio_art,
 
        Sum(lin_uni) as unidades,
        Sum(lin_bonif) as bonif,
        Sum(lin_bultos) as bultos,
        Sum(round(round(lin_uni * lin_p_venta,2) * (1 - lin_descuento_t/100), 2)) as ventas,
        Sum(lin_uni * mar_peso) as kilos,
        Sum(Round(lin_p_costo * (lin_uni + lin_bonif), 2)) as costo,
        Sum(Round(lin_p_medio * (lin_uni + lin_bonif), 2)) as pmedio,
        ((sum(round(round(lin_uni * lin_p_venta, 2) * (1 - lin_descuento_t/100), 2))) - sum(round((lin_uni + lin_bonif) * lin_p_costo, 2))) as BenfBruto,
        ((sum(round(round(lin_uni * lin_p_venta, 2) * (1 - lin_descuento_t/100), 2))) - sum(round((lin_uni + lin_bonif) * lin_p_medio, 2))) as BenfPM,
        Sum(round(round(round(lin_uni * lin_p_venta, 2) * (1 - lin_descuento_t / 100), 2) * (1 - glin_dto_pp / 100) * (1 - glin_dto_adicio_01 / 100) * (1 - glin_dto_adicio_02 / 100) * (1 - glin_dto_adicio_03 / 100), 2)) as neto_sin_iva,
        Sum(round(round(round(round(lin_uni * lin_p_venta, 2) * (1 - lin_descuento_t / 100), 2) * glin_recargo / 100, 2) * (1 + lin_iva_v / 100), 2)) rappel,
        Sum(glin_descuento_i) glin_descuento_i,
        Sum(round(Round(round(round(lin_uni * lin_p_venta,2) * (1 - lin_descuento_t/100),2) * (1 - glin_dto_pp / 100) * (1 - glin_dto_adicio_01 / 100) * (1 - glin_dto_adicio_02 / 100) * (1 - glin_dto_adicio_03 / 100), 2) * (lin_iva_v/100), 2))  IVA_V
        FROM linfac, glinfac, articulo, familia, subfam
  , proved01
  , vendedor, client01
      WHERE glin_n_fac           = lin_n_fac
      AND glin_estado          = lin_estado
      AND glin_estado          IN (1, 6, 8)
      AND Trim(mar_n_articulo) = Trim(lin_codigo)
      AND mar_familia          = fam_codigo      AND mar_subfamilia       = subfam_codigo (+)
      AND mar_familia          = subfam_codigo_fam (+)
      AND glin_fecha           BETWEEN '01/01/2015' AND '31/12/2016'
      AND glin_cliente         BETWEEN 430010001 AND 430999999
      AND glin_alma            BETWEEN 2 AND 40
      AND glin_vendedor        BETWEEN 2 AND 2
      AND mar_familia          BETWEEN 1 AND 99
      AND glin_zona            BETWEEN 0 AND 999
      AND lin_provee = prove_cuenta (+)
      AND mcl_vendedor = ven_codigo (+)
      AND glin_cliente = mcl_n_cliente
 
 
   GROUP BY lin_codigo, mar_descripcion,
   LPad(mar_familia, 5, '') || '' || fam_nombre,
   LPad(mar_subfamilia, 5, ' ') || ' ' || subfam_nombre,
 
   LPad('', 30, '') || '' || VEN_NOMBRE,
 
   TO_NUMBER(TO_CHAR(GLIN_FECHA, 'YYYY')),
 
   mar_pre_costo, mar_pre_medio,glin_recargo )
 , articulo A
WHERE alm_codigo = lin_codigo
 AND alm_codigo = A.mar_n_articulo
GROUP BY lin_codigo, A.mar_descripcion, familia, subfamilia,VENDEDOR,fecha,mar_nu_prov,fecha, costo_art, medio_art,unidades, bultos, bonif, ventas, costo, pmedio, BenfBruto, BenfPM, neto_sin_iva, glin_descuento_i, iva_v ,rappel, kilos, A.mar_tipo_arti, A.mar_unid_bulto
order by fecha;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder