みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Access select句でのサブクエリ

Access2010でのサブクエリについてお教えください。

注文テーブル
商品コード,数量,フラグ
A,3,x
B,2,x
C,1,x
A,3,y
B,4,y
C,3,y

このようなテーブルがあります。

SELECT 商品コード,数量 FROM 注文テーブル GROUP BY 商品コード
A,6
B,6
C,4

やりたい事はフラグがxの数量も表示たいと思っています。結果としては、下記の結果が欲しいです。
A,6,3
B,6,2
C,4,1

select句でサブクエリを作りました。

SELECT 商品コード,数量,(SELCT 数量 FROM 注文テーブル WHERE フラグ='x' GROUP BY 商品コード) FROM 注文テーブル GROUP BY 商品コード

しかしこのコードを実行すると、「このサブクエリでは1つのレコードしか返せません」と表示されます。

どこを修正したら正しいデータを取得することができるでしょうか?

投稿日時 - 2013-05-24 15:03:33

QNo.8102838

困ってます

質問者が選んだベストアンサー

SELECT 商品コード,数量 FROM 注文テーブル GROUP BY 商品コード

まず、このSQLでエラーが出ますね。下記の書き間違いですよね。

SELECT 商品コード, Sum(数量) AS 合計 FROM 注文テーブル GROUP BY 商品コード;

で、サブクエリを使うなら、

SELECT 商品コード, Sum(数量) AS 合計,
(SELECT Sum(数量) FROM 注文テーブル T WHERE T.フラグ='x' AND T.商品コード=注文テーブル.商品コード) AS X合計
FROM 注文テーブル GROUP BY 商品コード;

しかし、サブクエリを使わなくても、下記でシンプルに求められます。

SELECT 商品コード, Sum(数量) AS 合計, Sum(IIf(フラグ='X',数量,0)) AS X合計 FROM 注文テーブル GROUP BY 商品コード;

投稿日時 - 2013-05-24 16:30:49

お礼

ご回答ありがとうございました。初歩的なミスをしていました、失礼しました。

ご回答頂きました、2番目の簡単なやり方ですぐにできました!本当にありがとうございます!感謝感謝です。

投稿日時 - 2013-05-24 17:35:24

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問