いつもお世話になっています。
下記のような仕入記録テーブルがあったとします。
仕入年月日 | 商品名 | 数量 | 単価 |
2006/04/05 AAA 10 100
2006/07/12 BBB 5 280
2006/11/03 AAA 15 120
2007/02/19 BBB 5 230
2007/04/02 AAA 10 150
2007/05/10 BBB 15 250
この時、年度毎の最終仕入額を商品別に出したいのですがクエリはどのように作ればいいのでしょうか?
以前質問させていただいて商品別の最終仕入日を出すこと(Max関数使用)はできたのですが、これを年度別に分ける方法がわかりません。
年度自体はDatePart("yyyy",DateAdd("m",-3,[仕入年月日]))で出したらいいんですよね?
クエリをいくつかの段階に分けて作らないとダメなんでしょうか?
ご指導よろしくお願いします。
No.1ベストアンサー
- 回答日時:
こんばんは。
回答が無かったので書き込みます。
以下のクエリです。
クエリデザインを表示し、「表示」-「SQLビュー」を表示して
以下のSQL文を貼り付けます。
「表示」-「データシートビュー」で確認できます。
SELECT DatePart('yyyy',DateAdd('m',-3,[仕入年月日])) AS 仕入年度, tbl1.商品名, Max(tbl1.単価) AS 単価の最大
FROM tbl1
GROUP BY DatePart('yyyy',DateAdd('m',-3,[仕入年月日])), tbl1.商品名;
結果は以下です。
仕入年度商品名単価の最大
2006AAA120
2006BBB280
2007AAA150
2007BBB250
が取得できます。
※DatePartの代わりに「Year(DateAdd('m',-3,[仕入年月日]))」でもOKです。
回答ありがとうございます。
教えていただいたやり方で取得できるのは年度内の最大単価ですよね?
私がやりたかったのは年度内の最終仕入単価なのでちょっとやり方がちがったようです。
ただ教えていただいたやり方をヒントにいろいろ試してみたところうまく出来るようになりました。
グループ化の意味がイマイチわかってなかったので、今回のことでずいぶん理解できた気がします。
ありがとうございました。
No.2
- 回答日時:
これで出ませんか?
SELECT DatePart("yyyy",DateAdd("m",-3,[仕入記録テーブル]![仕入年月日])) AS 年度, 仕入記録テーブル.商品名, Sum([仕入記録テーブル]![単価]*[仕入記録テーブル]![数量]) AS 仕入金額, Max(仕入記録テーブル.仕入年月日) AS 仕入年月日の最大
FROM 仕入記録テーブル
GROUP BY DatePart("yyyy",DateAdd("m",-3,[仕入記録テーブル]![仕入年月日])), 仕入記録テーブル.商品名;
単価が変化してはいますが、これを表示するのが意味あるのかどうか解らなかったので省いています。
回答ありがとうございます。
No.1さんの回答を参考に問題は解決したんですが、この回答も今後の参考にさせていただきます。
質問の書き方が少し間違ってました。
年度毎の最終仕入額→年度毎の最終仕入単価でした。
当方の仕入れているのは電線等が主で価格が数か月ごとに変わっていくので、単価が変化するんです。
ありがとうございました。
またお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 債券・証券 高度な質問だと思いますが、知性あふれる方にお願いします。教えてください。 現在メットライフア◯コで積 7 2023/08/06 10:12
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- Access(アクセス) お世話になります ACCESSを使用しています 下記のクエリデータ(1)があります 商品名 行数 A 1 2022/09/05 08:52
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- メルカリ メルカリで古着販売、古物商許可証必要でしょうか。 3 2023/02/20 10:42
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
アクセスで作業の履歴を蓄積す...
-
accessについて(超初心者です)
-
Acccessで2つのテーブルから1...
-
Microsoft Access 「Form」のボ...
-
accessエラー回避について
-
ACCESSユニオンクエリから新テ...
-
テーブルに表示されているもの...
-
クエリで編集できるようにした...
-
access vbaにてテンポラリーテ...
-
ACCESSでテーブルをコピーしよ...
-
ACCESSでリンクテーブルのデー...
-
Accessのリンクされたテーブル...
-
Accessで、1つのマスターを複...
-
Accessのアクションマクロでエ...
-
access2000・・テーブルをデー...
-
AccessでのリンクテーブルとADO...
-
クエリで同一テーブルの複数回...
-
アクセス2016 チェックボックス...
-
ACCESSにおけるレコードの足し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
2つのテーブルに共通するレコ...
-
最新日のデータのみ抽出するク...
-
テーブルに表示されているもの...
-
Acccessで2つのテーブルから1...
-
Accessでリストの並び順を変更...
-
Accessのリンクされたテーブル...
-
ACCESSユニオンクエリから新テ...
-
access vbaにてテンポラリーテ...
-
ACCESS テーブルを見比...
-
Accessのテーブルで、リンク?...
-
ACCESSでテーブルをコピーしよ...
-
アクセス 部分一致の抽出
-
accessについて(超初心者です)
-
Microsoft Access 「Form」のボ...
-
クエリで同一テーブルの複数回...
-
access2000・・テーブルをデー...
-
アクセス2016 チェックボックス...
-
Accessで使用しているリンクテ...
-
アクセス2000でのリンク先...
-
accessのテーブルを閉じたとき...
おすすめ情報