2011-11-04 6 views
0

私はそれぞれ数値を返す2つのSELECT文を持っています。次のような 何か、それがうまくいく場合:数式でSQL文の結果を使用するにはどうすればよいですか?

SELECT 
    SELECT 
     SUM(SIZE) 
    FROM 
     GLOBAL_STATS_V_M 
    WHERE 
     ID IN ("DuplicatedRule", "OldRule", "RevRule", "TmpRule") 
/
    SELECT 
     SUM(SIZE) 
    FROM 
     GLOBAL_STATS_V_M 
    WHERE 
     ID IN ("Total") 

「クエリエラー: 『SELECT』に近い:ステートメントを実行することができません構文エラー」を取得します。

括弧を追加することは役に立ちません。

これを行う方法?私はSqliteman

答えて

3

を使用してい

あなたは括弧を追加する必要があります。ここに

SELECT 
    (SELECT 
     SUM(SIZE) 
    FROM 
     GLOBAL_STATS_V_M 
    WHERE 
     ID IN ("DuplicatedRule", "OldRule", "RevRule", "TmpRule") 
    ) 
    /
    (SELECT 
     SUM(SIZE) 
    FROM 
     GLOBAL_STATS_V_M 
    WHERE 
     ID IN ("Total") 
    ) 
+0

私は考えました*私はすでにこれを試していましたが、このコードをコピーして貼り付けました!私は初めてそれを打ち込んだと思う。 –

0

2つの問題。

  1. 両方のサブselect文の前後に括弧が必要です。
  2. FROM DUALで外部ステートメントを終了する必要があります。

    は デュアル

からの総 として、私は実際に清潔ごとに異なるクエリを記述することを好む/(選択....)(....選択) を選択します。

select subtotal.total/alltotal.total 
    from (select sum(size) as total .... where id in ("Duplic....)) subtotal, 
     (select sum(size) as total .... where id in ("total")) alltotal 
+1

デュアルはOracle用ですがSQLite用ではありません – DavidEG

関連する問題