• ベストアンサー

ACCESSクエリー記述方について

教えてください。 テーブル構造は下記の通りです 項目 在庫  区分 1  100 ばなな 2  200 ばなな 3  300 りんご 4  100 いちご もし区分がバナナなら、在庫を足す(この場合は、100と200) もし区分がリンゴなら、在庫を足す(この場合は、300) もし区分がイチゴなら在庫を足す(この場合は100) というようなクエリーが書きたいです。 IIF(バナナ、SUM(在庫))??? 非常に悩んでいます・・・。よろしくお願いします。

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

  • ベストアンサー
  • SePapa
  • ベストアンサー率50% (47/94)
回答No.2

こんにちは。 #1より追記です。 複数のデータをselectしてるのでしたら 私が回答した区分の合計を一つのテーブルとして 区分で外部結合はできませんでしょうか。 SELECT ・・・ FROM テーブル1 AS A LEFT JOIN ( SELECT 区分,SUM(在庫) FROM テーブル1 GROUP BY 区分) AS B ON A.区分= B.区分 のような感じで。。。 試してないのでうまく行くかわかりませんが ご参考まで。

chelny
質問者

お礼

私の構想自体に欠陥がありそうで、 練り直しが必要かもです。。 やり方から考え直してみたいと思います。 ありがとうございました!

その他の回答 (2)

回答No.3

仮にもとのデータが複数のテーブルに分かれているとしても、項目、在庫、区分、のデータを持ったビューはあるのですね? だとすれば、そのビューから別のビューをつくり、「在庫」、「区分」だけを使ってグループ化(集計)すればよいのではないでしょうか。

  • SePapa
  • ベストアンサー率50% (47/94)
回答No.1

こんにちは。 グループ(区分)ごとに集計すればいいと思いますので、 例えば SELECT 区分,SUM(在庫) FROM テーブル1 GROUP BY 区分 とすれば区分別の在庫合計がみれるはずです。

chelny
質問者

補足

説明不足ですみません。 実はテーブル自体はもっとたくさんデータがあり、 SELECTの中でもそれぞれいろんな形で使用しているため、 GROUPINGをするわけにはいかないので、 あくまでIIFとSUMを使ったやり方を希望しているのです。 やはり難しいのでしょうか・・。

関連するQ&A