2011-07-16 14 views
0

私はSQLを学んでいますので、私にご負担ください。私は次のことが可能かどうか疑問に思っていました。もしそうなら、以前の選択をどのように参照していますか?SQL Server - 前回の選択を参照

SELECT [col1] as something1, [col2] as something2, 
     <Can I use something1 or something2 in the third selection?> 
    FROM [MyTable] 
WHERE <Condition> 

答えて

1

Per this answerこれはSQL Serverでは機能しません。

あなたは本当にあなたが行うことができますエイリアスを使用する必要がある場合:

SELECT yoursubquery.something1, yoursubquery.something2, 
    FROM (
     SELECT [col1] as something1, [col2] as something2 
      FROM [MyTable] 
     WHERE <Condition> 
     ) yoursubquery 

以上をあなたがそれを必要なときに単純に完全な列名を入力します。

SELECT [col1] as something1, [col2] as something2, 
     [col1] + [col2] -- or whatever else you wanted to do 
    FROM [MyTable] 
WHERE <Condition> 
0

がどのように使用することを望んでいますそれらは、正確には、3番目の選択で?

あなたが行うことができます。

SELECT 
    COL1, 
    COL2, 
    COL1 + COL2 AS COL3 
FROM 
    TABLE1 
WHERE 
    COL1 > 0 

しかし、私はあなたがそれらを「使用」によって何を意味するかについては明らかではありませんよ。

+0

「[colN] somethingN」部分は、実際にはいくつかの分岐を持つCASE WHENステートメントです。単なる列名ではありません。 – ahmd0

+0

なぜ、本当の問題を、払拭された簡略化された詳細ではなく、真実の問題で表現してみませんか? –

関連する問題