Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/01/2011, 04:17
Avatar de death_nemesis
death_nemesis
 
Fecha de Ingreso: abril-2009
Ubicación: Santiago - Chile
Mensajes: 147
Antigüedad: 15 años
Puntos: 2
Respuesta: Duda con View

y como podria hacerlo ya que tengo unos union all en el select el cual requiere de la clausula where...

mira esta es la tabla
Código SQL:
Ver original
  1. CREATE TABLE REPORT(
  2.     ID_VEHICULO_REPORT INTEGER,
  3.     FECHA_INGRESO   TIMESTAMP WITHOUT TIME ZONE,
  4.     TIEMPO_INGRESO_AUTORIZADO NUMERIC,
  5.     TIEMPO_ETAPA1  NUMERIC,
  6.     TIEMPO_ETAPA2  NUMERIC,
  7.     TIEMPO_ETAPA3  NUMERIC,
  8.     TIEMPO_ETAPA4  NUMERIC,
  9.     TIEMPO_ETAPA5  NUMERIC,
  10.     TIEMPO_ETAPA6  NUMERIC,
  11.     TIEMPO_ETAPA7  NUMERIC,
  12.     TIEMPO_ETAPA8  NUMERIC,
  13.     TIEMPO_ETAPA9  NUMERIC,
  14.     TIEMPO_ETAPA10 NUMERIC,
  15.     TIEMPO_ETAPA11 NUMERIC,
  16.     TIEMPO_ETAPA12 NUMERIC,
  17.     TIEMPO_ETAPA13 NUMERIC,
  18.     TIEMPO_ETAPA14 NUMERIC,
  19.     TIEMPO_ETAPA15 NUMERIC,
  20.     ETA_Actual  CHARACTER VARYING,
  21.     TIEMPO_REPARACION_CLIENTE NUMERIC,
  22.     TIEMPO_TOTAL_REPARACION NUMERIC,
  23.     FECHA_TOTAL_REPARACION TIMESTAMP WITHOUT TIME ZONE,
  24.     ID_LOCAL INTEGER,
  25.     ID_TALLER CHARACTER VARYING,
  26.     ID_COMPANIA INTEGER,   
  27.     CONSTRAINT pk_REPORT PRIMARY KEY (ID_VEHICULO_REPORT)
  28. );


y esta es la query que quiero meter en la view....si te fijas en la parte de los símbolos ? es donde quiero poner la condición según lo que se coloque en la view como clausula

Código SQL:
Ver original
  1. SELECT 'Desarme'::VARCHAR AS Detalle,SUM(TIEMPO_ETAPA1)AS Actual,(
  2. SELECT SUM(TIEMPO_ETAPA1) FROM report WHERE date_part('Month',FECHA_INGRESO) = date_part('Month',(CURRENT_DATE - INTERVAL '1 Month'))
  3. AND ID_COMPANIA = ?) AS Anterior
  4. FROM report WHERE date_part('Month',FECHA_INGRESO) = date_part('Month',CURRENT_DATE) AND ID_COMPANIA = ? UNION ALL
  5. SELECT 'Desabolladura'::VARCHAR AS Detalle,SUM(TIEMPO_ETAPA2)AS Actual,(
  6. SELECT SUM(TIEMPO_ETAPA2) FROM report WHERE date_part('Month',FECHA_INGRESO) = date_part('Month',(CURRENT_DATE - INTERVAL '1 Month')) AND
  7. ID_COMPANIA = ?) AS Anterior
  8. FROM report WHERE date_part('Month',FECHA_INGRESO) = date_part('Month',CURRENT_DATE) AND ID_COMPANIA = ?