
ORACLEで以下の情報を抽出したいのですが、キーワードがありません等のエラーが出てうまくいきません。どなたかご教授お願いいたします。
製品テーブル
区分 区分名
A えんぴつ
B 消しゴム
C ボールペン
売上テーブル
売上コード 売上金額
11A11 100
22B22 200
33C33 300
11A12 200
《出力したい結果》
区分 区分名 合計金額
A えんぴつ 200
B 消しゴム 100
C ボールペン 300
〈出力条件〉
売上コードの3文字目から製品区分を特定し、製品区分毎の売上金額を合計する。
WHERE句にSUBSTRING(区分,3,1)を用いて製品区分を特定したいのですが、SQLが組めません。
select S.区分,S.区分名,sum(U.売上金額)
from 製品テーブル S, 売上テーブル U
where case substring(U.売上コード,3,1) between A and Z then substring(U.売上コード,3,1)
else substring(U.売上コード,3,1) between 0 and 9 then ??
order by S.区分
group by S.区分
根本的におかしい所があると思うのですが、恥ずかしながら自分では特定出来ませんでした。
どなたかご教授のほどお願いいたします。
No.2ベストアンサー
- 回答日時:
No.1さんも言っているように売上テーブルに区分を持たせるべきでしょう。
しかし、テーブルの変更が不可なら副問合せを使用しては如何でしょう。
Select S.区分,S.区分名,U.売上合計
from 製品テーブル as S,
(select substr(売上コード,3,1) as 区分, sum(売上金額) as 合計金額
from 売上テーブル group by substr(売上コード,3,1)) as U
where S.区分=U.区分 order by S.区分
元のsqlはwhere句の構文が誤っていると思います…
手元に実行環境が無いため未確認ですが、上記のsqlで実現できるかと…
ご参考まで
補足に記述いたしましたが、後出しで条件を追加する形で申し訳ありませんでした。
細うどん様のおっしゃる通りテーブルの変更が出来ないので、頂いたSQLを参考に副問合せでやってみようと思います。
当方も出先で実行環境が手元に無いため、明日以降再度挑戦します。結果を再度ご報告いたします。
その前に副問合せについて参考書を一読せねば。。
ご回答ありがとうございました。
No.3
- 回答日時:
No.2です
Select句間違えていたので訂正します。
U.売上合計 では無く U.合計金額 でした。
申し訳ございません。
ご報告が遅れましたが、いただいたSQLを参考に副問合せを使ったら出来ました!
初歩的な質問でお恥ずかしい限りでしたが、丁寧なご回答をありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
続.ORACLEのSELECTのソートに...
-
SQL 2つのテーブルとSUBSTRING...
-
主キーの変更
-
連番のMin, Maxを取得したい
-
Accessでフィールドを比較した...
-
Inner join と Left joinの明...
-
VIEWでテーブルの集計結果...
-
update文で質問です。 下記の条...
-
Accessでどのようにアプローチ...
-
PLSQLの識別子エラー
-
Accessにインポートしたら並び...
-
SQL Server のデータをCSVファ...
-
3つ以上のテーブルをUNIONする...
-
Access VBA [リモートサーバー...
-
SI Object Browserのテーブルス...
-
ACCESS 一番最新の日付の金額...
-
ビューで引数を使いたい
-
SELECT文でのデッドロックに対...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
重複するキーから一番古い年月...
-
主キーの変更
-
update文で質問です。 下記の条...
-
ACCESS 一つのフィールドに複...
-
続.ORACLEのSELECTのソートに...
-
accessで移動平均する方法
-
行方向のデータを横に並べる
-
Accessでフィールドを比較した...
-
PLSQLの識別子エラー
-
商品コード番号を入力すると商...
-
ACCESSのデータシート形式のフ...
-
複数InnerJoin時の処理落ち回避法
-
Accessのテーブル設計について...
-
正規化・リレーションシップに...
-
Accessのコンボボックスの使い...
-
データベースの問題
-
ACCESSのコンパイルエラーについて
-
SQL結合条件
おすすめ情報
後出しで申し訳ありません。
テーブルの変更(カラム追加等)は不可です。
カラムを追加出来ればそうしたいのですが、今回は上記条件でお願いいたします。