[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [postgresql-it] sub case (?)
- From: Riccardo Penco <riccardo.penco@xxxxxxxxx>
- Subject: Re: [postgresql-it] sub case (?)
- Date: Mon, 30 Apr 2012 11:40:25 +0200
Il 28 aprile 2012 17:42, Roberto Marzialetti
<roberto.marzialetti@xxxxxxxxx> ha scritto:
> ho una select che in meta-linguaggio dovrebbe essere fatta cosi'
>
> CASE
> WHEN gruppo_id = 'CLI' THEN
> CASE
> WHEN soggetti.tipo = 'A' THEN soggetti.ragione_sociale
> ELSE nome || ' ' || cognome -- privato
> AND AS cliente
> WHEN gruppo_id = 'INT' THEN intermediari.ragione_sociale
> ELSE ''
> END AS persona
>
> in pratica deve valutare
> se gruppo_id = 'CLI'
> allora deve valutare anche se tipo = 'A' o 'C'
> altrimenti
> se gruppo_id = 'INT'
>
> come posso fargli valutare anche il tipo dopo il primo case?
>
> grazie
oltre a quanto detto da Chris, se vuoi puoi fare anche in questo modo,
se preferisci non utilizzare i case annidati:
CASE
WHEN gruppo_id = 'CLI' AND soggetti.tipo = 'A' THEN soggetti.ragione_sociale
WHEN gruppo_id = 'CLI' AND soggetti.tipo != 'A' THEN nome || ' ' || cognome
WHEN gruppo_id = 'INT' THEN intermediari.ragione_sociale
ELSE ''
END AS persona
sorry ma al momento non ricordo se il diverso da è <> o !=...
Non sono sicuro sia necessario mettere la condizione AND soggetti.tipo
!= 'A' , la lascerei comunque per chiarezza
my € 0,02
ciao
riki