Oracle - Query multiple con sumatoria

 
Vista:
sin imagen de perfil

Query multiple con sumatoria

Publicado por Moisés (5 intervenciones) el 04/09/2015 19:01:24
Hola a todos.

Tengo un inconveninete en mi consulta. Es por el tema de los tipos de datos al hacer el UNION.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT
  ITEMNUM AS CODIGO, --VARCHAR
  DESCRIPTION AS DESCRIPCION, --VARCHAR
  ORDERUNIT  AS UNIDAD, --VARCHAR
  ORDERQTY AS CANTIDAD, --NUMERICO
  UNITCOST AS COSTO_UNITARIO, --NUMERICO
  (ORDERQTY*UNITCOST) AS COSTO_PARCIAL --NUMERICO
  FROM
  POLINE
  WHERE
  ENTERDATE BETWEEN  '01/02/2015' AND '28/02/2015'
  AND UNITCOST <> 0
UNION
 SELECT SUM(ORDERQTY*UNITCOST) AS "COSTO TOTAL (S/.)" FROM POLINE
 WHERE
 ENTERDATE BETWEEN  '01/02/2015' AND '28/02/2015'
 AND UNITCOST <> 0;


Espero por favor puedan ayudarme a solucionar el problema.


GRACIAS !!!
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
sin imagen de perfil
Val: 499
Oro
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

Query multiple con sumatoria

Publicado por Rafael (328 intervenciones) el 07/09/2015 09:16:36
Tu problema esta en que la primer consulta contiene 6 columnas, y la quieres unir a una que solo contiene una columna, el union funciona cuando las dos consultas tienen el mismo numero de columnas y estas coinciden en tipo y posicion.

Ahora bien lo que quieres es hacer un total ???

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SELECT
  ITEMNUM AS CODIGO, --VARCHAR
  DESCRIPTION AS DESCRIPCION, --VARCHAR
  ORDERUNIT  AS UNIDAD, --VARCHAR
  ORDERQTY AS CANTIDAD, --NUMERICO
  UNITCOST AS COSTO_UNITARIO, --NUMERICO
  (ORDERQTY*UNITCOST) AS COSTO_PARCIAL --NUMERICO
  FROM
  POLINE
  WHERE
  ENTERDATE BETWEEN  '01/02/2015' AND '28/02/2015'
  AND UNITCOST <> 0
UNION
  SELECT ' TOTAL'
                , ''
                , ''
                , NULL
                , NULL
                , SUM(ORDERQTY*UNITCOST) AS "COSTO TOTAL (S/.)" FROM POLINE
 WHERE
 ENTERDATE BETWEEN  '01/02/2015' AND '28/02/2015'
 AND UNITCOST <> 0;

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Query multiple con sumatoria

Publicado por Moisés (5 intervenciones) el 08/09/2015 18:12:30
Así es Rafael.

Gracias por tu respuesta, el query quedo muy bien.


Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar