質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database 11g

Oracle DatabaseはRDBMSの商品です。具体的な発売商品として知られているのが、 Oracle9i、Oracle10g、Oracle 11gとOracle 12cです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

Q&A

解決済

2回答

238閲覧

SQL Case文を利用し各パターンごとをカラムで表示する。

tahashim

総合スコア19

Oracle Database 11g

Oracle DatabaseはRDBMSの商品です。具体的な発売商品として知られているのが、 Oracle9i、Oracle10g、Oracle 11gとOracle 12cです。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

0グッド

0クリップ

投稿2018/10/29 12:54

SQLが初心者のため、稚拙な質問すいません。。
Oracleにて、下記のようなテーブルTableがあります。

■Table

区分A区分B売上高
001000
011500
102000
112500

区分Aが0、区分Bが0の時 結果を売上高種別1カラムとして表示
区分Aが0、区分Bが1の時 結果を売上高種別2カラムとして表示
区分Aが1、区分Bが0の時 結果を売上高種別3カラムとして表示
区分Aが1、区分Bが1の時 結果を売上高種別4カラムとして表示

上記を4パターンの取得結果に表すと下記イメージです。
CASE文を利用すれば、下記イメージは取得できるところまでは検討できたのですが
具体的にカラム名を各4パターンの結果で持たすにはどうすればいいでしょうか?

■取得イメージ

売上高種別1売上高種別2売上高種別3売上高種別4
1000000
0150000
0020000
0002500

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

こんな漢字で、

SQL

1SELECT 2 CASE WHEN "区分A" = '0' AND "区分B" = '0' THEN "売上高 "ELSE 0 END AS "売上高種別1" 3 ,CASE WHEN "区分A" = '0' AND "区分B" = '1' THEN "売上高" ELSE 0 END AS "売上高種別2" 4 ,CASE WHEN "区分A" = '1' AND "区分B" = '0' THEN "売上高" ELSE 0 END AS "売上高種別3" 5 ,CASE WHEN "区分A" = '1' AND "区分B" = '1' THEN "売上高" ELSE 0 END AS "売上高種別4" 6(以下略)

投稿2018/10/29 13:41

編集2018/10/29 13:42
hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tahashim

2018/10/31 11:01

初歩的な質問に回答して頂きありがとうございます。
guest

0

SQL

1SELECT CASE WHEN 区分A='0' AND 区分B='0' THEN 売上高 ELSE 0 END AS 売上高種別1 2 , CASE WHEN 区分A='0' AND 区分B='1' THEN 売上高 ELSE 0 END AS 売上高種別2 3 , CASE WHEN 区分A='1' AND 区分B='0' THEN 売上高 ELSE 0 END AS 売上高種別3 4 , CASE WHEN 区分A='1' AND 区分B='1' THEN 売上高 ELSE 0 END AS 売上高種別4 5FROM Table

投稿2018/10/29 13:40

iruyas

総合スコア1067

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tahashim

2018/10/31 11:01

初歩的な質問に回答して頂きありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問