Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

utilizzare un alias in una query

15 views
Skip to first unread message

Ammammata

unread,
Jun 11, 2019, 4:25:40 AM6/11/19
to
mi spiego con un esempio che č meglio

scrivo una query dove calcolo due valori tramite formule complesse e lunghe
memorizzandoli AS V1 e AS V2
nella stessa query vorrei la differenza tra questi due valori V1 - V2 as DF





ora, in Access scrivo (semplificando) una cosa del genere:

SELECT TotalAmount1 AS V1, TotalAmount2 AS V2, [V1]-[V2] AS Diff
FROM TableOC;

e funziona





se faccio una cosa simile in SQL:

SELECT
CASE
when ... (un sacco di test)
end as PM,

CASE
when ... (una sporta di test)
end as CM,

[CM]-[PM] as Diff

ottengo l'errore:

Msg 207, Level 16, State 1, Line 151
Invalid column name 'CM'.
Msg 207, Level 16, State 1, Line 151
Invalid column name 'PM'.





se ripeto tutta la formula chilometrica per le due variabili funziona ma č
brutta da vedere e debuggare (se necessario)

CASE
when ... (un sacco di test)
end

-

CASE
when ... (una sporta di test)
end

as Diff




DOMANDA: devo per forza passare attraverso una tabella temporanea?

select
*
into #tmp
from
(
CASE
when ... (un sacco di test)
end as PM,

CASE
when ... (una sporta di test)
end as CM
) tmp

select PM, CM, PM-CM as Diff from #tmp

drop #tmp

oppure c'č un'altra strada?


Grazie

--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
>>>>> http://www.bb2002.it :) <<<<<
........... [ al lavoro ] ...........

Ammammata

unread,
Jun 11, 2019, 4:30:16 AM6/11/19
to
Il giorno Tue 11 Jun 2019 10:25:38a, *Ammammata* ha inviato su
microsoft.public.it.sql il messaggio
news:XnsAA6B6A13EFE22am...@148.251.67.112. Vediamo cosa ha
scritto:

> DOMANDA: devo per forza passare attraverso una tabella temporanea?
>
> select
> *
> into #tmp
> from
> (
> SELECT -- typo :)
> CASE
> when ... (un sacco di test)
> end as PM,
>
>



valerio.s...@gmail.com

unread,
Jun 24, 2019, 4:58:06 AM6/24/19
to
Puoi usare una tabella derivata all'interno della query.
SELECT campoa, campob, campoa-campob FROM
(SELECT bla bla bla)

bla bla bla è la tua query

Ammammata

unread,
Jun 28, 2019, 3:46:30 AM6/28/19
to
Il giorno Mon 24 Jun 2019 10:58:05a, ** ha inviato su
microsoft.public.it.sql il messaggio news:8e2b7f95-2d93-4283-bffa-
d9adae...@googlegroups.com. Vediamo cosa ha scritto:
giusto, bravo, non ci avevo pensato
vado a mettere in pratica "per vedere che effetto che fa"
0 new messages