Home > Server > PostgreSQL SQL use CASE when … then … else ..END in SELECT

PostgreSQL SQL use CASE when … then … else ..END in SELECT

Temporary Table e uso di CASE WHEN .. THEN … ELSE … END in SELECT.

In postgresql  espressione  SQL CASE è una espressione condizionale di tipo generico, simile al costrutto if/else presente in altri linguaggi: di fatto un alternativa a IIF or IF in SQL.

  DROP TABLE IF EXISTS tmp_aqy ;
  CREATE TEMPORARY TABLE tmp_aqy
   (      
      description  character varying, 
      _type int , 
      _year bigint,
      --_month VARCHAR(25)
      _month bigint, 
      _count bigint, 
      _count_c bigint, 
      _avg bigint , 
      _conf boolean

   ) 
   -- ON COMMIT DELETE ROWS;
   ON COMMIT PRESERVE ROWS;  -- rows delete at end sections 

   BEGIN TRANSACTION;

   INSERT INTO tmp_aqy    
	SELECT 'month reg.' , 6 , date_part('year',createddate) As year , 
               date_part('month',createddate) as month, count(Cs.itemid), 
	       CASE WHEN confirm THEN count(confirm) ELSE null END  ,
               null, confirm 
	FROM contacts  Cs
	GROUP BY date_part('year', createddate), date_part('month', createddate), confirm
	ORDER BY date_part('year',createddate) DESC, date_part('month',createddate) DESC,
        count(Cs.itemid) DESC ;   
   COMMIT;

   SELECT description, _type, _year, _month, _count,_count_c, _avg, _conf  FROM tmp_aqy
   WHERE _year > 2009 OR _type  > 30 
    GROUP BY description , _type ,  _year , _month, _count,_count_c, _avg, _conf
    ORDER BY  _type DESC,  _year DESC, _month DESC, _count DESC ;

Risorse:

—-

..

  1. Non c'è ancora nessun commento.
  1. No trackbacks yet.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: