0

where句で次のようなものを参照できるかどうか疑問に思っていました:

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

どうもありがとう

K

4

2 に答える 2

1

SQL 標準はこれをサポートしていません。あなたは書く必要があります:

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...]

ただし、構文をサポートする RDBMS がいくつかあるかもしれません。

于 2013-04-16T12:28:40.260 に答える
1

いいえ、SELECTステートメントの同じレベルで生成されたエイリアスを使用することはできません。

実現可能な方法を次に示します。

元の式を使用する:

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

またはサブクエリを使用して:

SELECT  x,
        y,
        x/y z
FROM 
(
   select sum([some calculation]) as x,
          sum([some other calculation]) as y
   from   tableName
) s
于 2013-04-16T12:27:11.607 に答える