C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.42930 の関連記事表示

<< 0 >>
■42930  オラクル SQL
□投稿者/ 初心者 -(2009/10/23(Fri) 16:14:34)

    分類:[データベース全般] 

    やりたいこと、TB_Aテーブルの項目1 がNULLの場合は TB_Aの 項目数量 をとります。
    TB_Aテーブルの項目1 がNULLではないの場合は すべて検索された行の 項目1 が同じの 項目数量 を SUMし総数量として取得したいです。
    書き方をちょうっと、教えてください、ずっとエラーになります。
    よろしく、お願いいたします。
    ---------------------------
    SELECT TB_A.*,
    (
    CASE WHEN TB_A.項目1 IS NULL THEN TB_A.項目数量

    ELSE (
    SELECT SUM(TB_A.項目数量)
    FROM TB_A  TB_A_2
    WHERE TB_A.項目1 = TB_A_2.項目1

    )
    END
    ) RESULT --総数量

    FROM TB_A
親記事 /過去ログ73より / 関連記事表示
削除チェック/

■42933  Re[1]: オラクル SQL
□投稿者/ とも -(2009/10/23(Fri) 16:33:33)
    No42930 (初心者 さん) に返信
    > やりたいこと、TB_Aテーブルの項目1 がNULLの場合は TB_Aの 項目数量 をとります。
    > TB_Aテーブルの項目1 がNULLではないの場合は すべて検索された行の 項目1 が同じの 項目数量 を SUMし総数量として取得したいです。
    > 書き方をちょうっと、教えてください、ずっとエラーになります。
    > よろしく、お願いいたします。
    > ---------------------------
    > SELECT TB_A.*,
    > (
    > CASE WHEN TB_A.項目1 IS NULL THEN TB_A.項目数量
    >
    > ELSE (
    > SELECT SUM(TB_A.項目数量)
    > FROM TB_A  TB_A_2
    > WHERE TB_A.項目1 = TB_A_2.項目1
    >
    > )
    > END
    > ) RESULT --総数量
    >
    > FROM TB_A

    全てに対して聞きすぎじゃないでしょうかね・・
    もうちょっと自分で考えることを考えないと成長しないよ。
記事No.42930 のレス /過去ログ73より / 関連記事表示
削除チェック/

■42935  Re[1]: オラクル SQL
□投稿者/ いしだ -(2009/10/23(Fri) 17:41:39)
    2009/10/23(Fri) 17:57:06 編集(投稿者)

    こんな感じでしょうか。

    select a1.*,
    case when 項目1 is null then 項目数量
    else (select sum(項目数量) from TB_A a2
    where a2.項目1=a1.項目1)
    end as RESULT
    from TB_A a1;
記事No.42930 のレス /過去ログ73より / 関連記事表示
削除チェック/

■42938  Re[2]: オラクル SQL
□投稿者/ 初心者 -(2009/10/23(Fri) 18:33:05)
    No42935 (いしだ さん) に返信
    > 2009/10/23(Fri) 17:57:06 編集(投稿者)
    >
    > こんな感じでしょうか。
    >
    > select a1.*,
    > case when 項目1 is null then 項目数量
    > else (select sum(項目数量) from TB_A a2
    > where a2.項目1=a1.項目1)
    > end as RESULT
    > from TB_A a1;
    >

    すみません、実行してみると、ORA-00918:列のあいまいな原因 というのはどういう意味ですか?
    オラクル、初めなんで、よくわかりません。教えてください
記事No.42930 のレス /過去ログ73より / 関連記事表示
削除チェック/

■42945  Re[3]: オラクル SQL
□投稿者/ いしだ -(2009/10/24(Sat) 04:26:09)
    ああ、すいません。
    Oracle環境がないのでためせないんですが、以下でどうでしょうか?
    
    select a1.*,
           case when a1.項目1 is null then a1.項目数量
           else (select sum(a2.項目数量) from TB_A a2
                 where a2.項目1=a1.項目1)
           end as RESULT
    from TB_A a1;
    
    列があいまいって事は、a1,a2どちらの方の列かわからない、って事じゃないですかね?
記事No.42930 のレス /過去ログ73より / 関連記事表示
削除チェック/

■42947  Re[1]: オラクル SQL
□投稿者/ やじゅ -(2009/10/24(Sat) 08:10:30)
>
    No42930 (初心者 さん) に返信

    「オラクル SQL」、「ORACEL SQL」
    今後のタイトルは質問の概要を書いてくださいね。

    技術掲示板は情報共有という目的も一部あり、他の人が同じ原因で悩んだ時に参考になりますから。
    http://www.hyuki.com/writing/techask.html
記事No.42930 のレス /過去ログ73より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -