Pregunta

I was wondering if you can reference something in the where clause like:

select
sum([some calculation]) as x,
sum([some other calculation]) as y,
x/y as z
from 
[rest of the sql...]

Many Thanks

K

¿Fue útil?

Solución

No, you cannot used the alias that was generated on the same level on the SELECT statement.

Here are the possible ways to accomplish.

Using the original formula:

select sum([some calculation]) as x,
       sum([some other calculation]) as y,
       sum([some calculation]) / sum([some other calculation]) as z
from    tableName

or by using subquery:

SELECT  x,
        y,
        x/y z
FROM 
(
   select sum([some calculation]) as x,
          sum([some other calculation]) as y
   from   tableName
) s

Otros consejos

The SQL standard does not support this. You have to write:

select
sum([some calculation]) as x,
sum([some other calculation]) as y,
sum([some calculation])/sum([some other calculation]) as z
from 
[rest of the sql...]

There may be some RDBMS out there that support your syntax, though.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top