![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
テーブル名:グループ表
ID グループ名
-------------------------
100 Aグループ
101 Bグループ
102 Cグループ
103 Dグループ
104 Eグループ
テーブル名:売上表
ID 売上年月日 売上額
------------------------------
101 20090401 1000
101 20090501 2000
102 20090401 2500
102 20090503 1500
103 20090404 3000
103 20090506 4000
上記の2つのテーブルがあります。
グループごとの売上合計一覧を出します。
■求めたいSELECT文結果
グループ名 合計(売上額)
----------------------
Aグループ 0
Bグループ 3000
Cグループ 4000
Dグループ 7000
Eグループ 0
select グループ名,sum(売上額)
from (select グループ名,売上額
from グループ表,売上表
where グループ表.ID = 売上表.ID)
group by グループ名
では、
グループ名 合計(売上額)
----------------------
Bグループ 3000
Cグループ 4000
Dグループ 7000
となってしまい、うまくいきません・・・
どうように書いたらよろしいでしょうか?
No.4ベストアンサー
- 回答日時:
> 『ORA-25154: USING句の列の部分には修飾子を持てません』
先に例示したSQLのUSING句には、修飾子は無いのですが・・・。
「 USING(ID) 」の部分を 「 USING(グループ表.ID) 」などと変更しては無いでしょうか?
USING句と同じことを ON を使っても書けますので、そうした場合はどうでしょうか?
例) --------------------------------------------------------------
SELECT
グループ名,
SUM(CASE WHEN 売上額 IS NULL THEN 0 ELSE 売上額 END)
FROM グループ表 LEFT OUTER JOIN 売上表 ON(グループ表.ID = 売上表.ID)
GROUP BY グループ表.ID, グループ表.グループ名
------------------------------------------------------------------
ちなみにUSING句のカラムには表名修飾はできません。
http://okwave.jp/qa4871143.html
実行できました!!
ちなみにSUMは、
SUM(NVL(売上額,0))でもいけました。
SQLを始めてまだ3日、こういう教えていただける所があると、
大変助かります^^ありがとうござました
No.3
- 回答日時:
> でも、うまく実行できませんでした。
。エラーが出たのか望ましくない結果が表示されたのか、どちらでしょう?
エラーの内容、もしくは、表示された結果はどうなりますでしょうか?
また、昔のバージョンの Oracle ですとFROM句で結合条件の記述ができなかったりします。
Oracle のバージョンはいくつでしょう?
この回答への補足
oracle 9iをです。
SI object browserを使っています。
以下のエラーがでました。よろしくお願いします。
『ORA-25154: USING句の列の部分には修飾子を持てません』
No.2
- 回答日時:
私も外部結合を使えば良いと思います。
また、サブクエリを使う必要も無いかと。
例) ---------------------------------------------------------------
SELECT
グループ名,
SUM(CASE WHEN 売上額 IS NULL THEN 0 ELSE 売上額 END)
FROM グループ表 LEFT OUTER JOIN 売上表 USING(ID)
GROUP BY グループ表.ID, グループ表.グループ名
-------------------------------------------------------------------
なお、手元に実行環境が無いので確認はしていません。
No.1
- 回答日時:
外部結合にすれば良いのでは?
グループ名と売上額を right outer join で結合すれば良いのだと思います。
また、その際、AグループなどはNULLになりますので、売上額の箇所をNVL(売上額,0)として挙げる必要があると思います。
確認はしていませんが、
select グループ名,sum(売上額)
from (select グループ名,NVL(売上額,0)
from グループ表 RIGHT OUTER JOIN 売上表
ON(グループ表.ID = 売上表.ID))
group by グループ名
みたいな感じではどうでしょう?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校 数学A組み合わせの考え方 3 2022/04/19 09:05
- LINE LINEについて教えてください。 とあるグループで活動しています。 (編み物クラブとか絵画クラブなど 2 2022/10/13 17:16
- その他(社会・学校・職場) 店の売上が少ないことに罪悪感を感じる。 7 2023/07/13 15:48
- 国産車 現在、世界で一番売れてる自動車メーカーはトヨタですか?また、その売上はグループにいるスバル、日野自動 3 2023/08/22 18:45
- K-POP ル セラフィム …てグループなの? 次 TikTokでやたらに流れている曲。 次から次へと 韓国グル 1 2022/05/12 05:16
- Excel(エクセル) 指定した数字まで累計する方法や文字例の抽出について教えてください 4 2022/10/05 21:19
- 友達・仲間 みなさんならどこに入りますか? 6 2023/02/08 08:12
- 友達・仲間 今のグループと距離を置くべきでしょうか? 1 2023/04/26 20:52
- 学校 学校でグループの人に迷惑をかけてしまいました… 3 2022/06/21 12:44
- 統計学 処理Aと処理A+Bの2群の差から、AとBの効果や相対的重要性を定量したい 5 2023/02/22 09:42
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイルで複数フォルダ...
-
副問合せにLIKE文を使う方法は...
-
複数レコードの完全一致
-
sqlで質問です。 Aテーブルは店...
-
SQLの中上級者へのレベルアップ...
-
SELECTによる表の変換方法を教...
-
開発対象となるアプリケーショ...
-
質問です。 下記のテーブルとデ...
-
Oracleですがsqlで質問です。 ...
-
sqlで質問です。 Aテーブルの登...
-
sqlで質問です。 Aテーブルの情...
-
SQLの書き方について
-
SQLについて教えて下さい。 主...
-
sqlで質問です。 idを元にidに...
-
oracleで 10,20, 30, というデ...
-
索引作成について
-
googleプレイの履歴で取得とイ...
-
sql(oracle)で質問です。 テ...
-
オラクルゴールドについて
-
sqlのupdate文で質問です。 テ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
項目名の制限について
-
MySQLで改行を含む文の登録のし...
-
SQLでグループ化した結果の件数...
-
オラクルSQLの累計値取得方法に...
-
ORA-01722: 数値が無効です
-
SQL文 2つのテーブルから、グ...
-
列名無効について
-
フォームで検索 エラーの表示...
-
改行コードを削除して取得する...
-
3つのテーブルの結合
-
各店舗毎の最大売上の項目を取...
-
インサート文での条件の指定に...
-
Accessで期間指定の売上合計と...
-
アクセス レポート作成のため...
-
データベースから抽出した一覧...
-
SQL抽出方法に悩んでいます。 S...
-
GROUP BYの記述方法について
-
SQL文のエラーについて
-
AccessVBA コードをスキップし...
-
Oracleでテーブルの結合について
おすすめ情報