0

SQL-ステートメントについて質問があります。場合によっては、複数の使用のために「サブクエリを定義する」ことは可能ですか。少し混乱するように聞こえますが、次の例では、私が考えていることは明らかだと思います。

select 
 Column1,
 Column2,
 Case
    WHEN <BigSubquery> > 0 THEN <BigSubquery>
    ELSE 0
 END
from ...

これを行うにはどうすればよいか、または何を使用できますか。私はこのような素晴らしいクエリを持っていますが、それは巨大なコードであり、メンテナンスには使用できません。

4

2 に答える 2

1

サブクエリを使用している場合は、条件をサブクエリに入れる必要があります。たとえば、次の場合:

(select sum(x) from . . . )

次に、次のようにします。

(select (case when sum(x) > 0 then sum(x) else 0 end) from . . .
于 2013-04-01T13:17:40.687 に答える
0

クエリを次のように書き換えると

select 
   Column1,
   Column2,
   Case
       WHEN Column3 > 0 THEN Column3
       ELSE 0
   END
from 
(
    select 
        Column1,
        Column2,
        BigSubquery as Column3
    from ...
)
t

次に、「BigSubquery」の複製を回避しますが、選択リストを複製します。

于 2013-04-01T13:17:43.960 に答える