Re: [postgresql-it] join con un campo alias

  • From: Riccardo Penco <riccardo.penco@xxxxxxxxx>
  • To: postgresql-it <postgresql-it@xxxxxxxxxxxxx>
  • Date: Wed, 12 Dec 2012 09:37:10 +0100

Il giorno 11 dicembre 2012 12:52, Roberto Marzialetti <
roberto@xxxxxxxxxxxxxxx> ha scritto:

ciao

ho due campi
- data_incasso
- stato_incasso_id -> FK tabella stati_incassi

(si, ho sbagliato lo schema del db...)

adesso vorrei eliminare il campo "stato_incasso_id" desumendolo da
"data_incasso", ma non vorrei fare troppi danni allo
schema/applicazione. quindi. pensavo di fare:

CASE
   WHEN data_incasso IS NULL
   THEN 'DIN' ELSE 'ATC' -- che sono i valori nella tabella stati_incassi
END AS stato_incasso_id
INNER JOIN stato_incasso_id ON stati.stato_incasso_id

ma ovviamente non me lo fa fare...
pensavo quindi di usare tanti case quanti ne ho bisogno


non ho fatto le prove del caso, ma io, se ho capito il problema, proverei
una cosa delle seguenti cose (in ordine sparso)

a)
select ....
from tabella1 T1
  inner join stati T2 on case when data_incasso is null then 'DIN' else
'ATC' end = T2.stato_incasso_id

b)
select ....
from tabella1 T1, stati T2
where case when data_incasso is null then 'DIN' else 'ATC' end =
T2.stato_incasso_id

c)
con una subquery

ciao
riki

Other related posts: