
OSはWin98SE
Access2000です。
多分簡単なことなのかもしれないのですが、追加クエリの抽出条件を使って、
その列(更新回数)でいちばん大きな数字のみ別テーブルに抽出(追加)させたいのですがその式がわからず悩んでいます。
例(主キーなし)
店番号|商品番号|更新回数|金額|・・・
001 |A021 | 2 |300 |・・・
002 |A034 | 1 |200 |・・・
001 |A122 | 1 |150 |・・・
001 |A043 | 3 |500 |・・・
上記で店番号001が3データ入っている中の更新回数が3のデータのみ別のテーブルに追加したいのですが、最大を求めるのでMaxやDMaxを使用したらよいのかな?などと思ったのですが、その先の式の書き方がわからないのでどなたか教えていただけませんか。
どうぞよろしくお願いします。
No.3ベストアンサー
- 回答日時:
三度storkです。
蛇足ですが、先ほどの回答は、SQLを直書きするものだったんで、練習用にGUIでの操作で最新データの取り出し方を補足しておきます。
from句に入っているSQLをクエリとして保存してください。
クエリ名は、[最新データ]
-------------------------------------------
select 店番号,max(更新回数) as max更新回数
from [PC売上_T] group by 店番号
-------------------------------------------
どんなクエリになっているかは、デザインビューとデータシートビューで確認してください。
もうひとつクエリを作ります。
デザインビューで[PC売上_T]とさっき作った[最新データ]を追加して、店番号で結合し、さらに更新回数で結合します。結合線がふたつ出来ます。
これで最新のデータのみを抽出するクエリの出来上がりです。
この二つのクエリを一回で済ませると、#1のSQLになります。クエリを二つに分けていると誤ってクエリ[最新データ]を削除すると動作しなくなるので、出来るだけひとつにしましょう。
storkさん回答ありがとうございます。
また、質問しておきながらお返事が遅くなりまして申し訳ありません。
直書きのSQLは、まだみて理解できるところまで行っていないので
勉強して行きたいと思っています。
補足でいただいたGUIでの操作ありがとうございます。
これなら私にもわかりそうです早速試してみます。
昨日に続き今日も外出になりそうですのでこの質問は一度閉じさせていただきます。
もし、実行してみてわからないときは、また質問させてください。
そのときはどうぞよろしくお願いいたします。
本当に勉強になりますありがとうございました。
No.2
- 回答日時:
似たような質問だと思ったら同じ方でしたか、失礼しました。
>SQL中のtable1やtable2は指定するテーブル名を指定し
>たら良かったでしょうか。
回答#1のSQLはひとつのテーブルを切り口を変えて自己結合しています。
table1はテーブル名で、table2はtable1を元にしたクエリに別名(仮の名前)をつけているだけなんで、何でもいいです。
補足の内容からいくとtable1は[PC売上_T]ですかね。
>教えていただいたSQLはどこの部分に追加したらよいので>しょうか。
[PC売上_T]が履歴形式のトランザクションで、[PC売上_M]が最新情報のマスタですね。
from句以下を
-----------------------------------------------
from [PC売上_T]
inner join
(select 店番号,max(更新回数) as max更新回数
from [PC売上_T] group by 店番号 ) as 最新データ
on ([PC売上_T].店番号 = 最新データ.店番号)
and ([PC売上_T].更新回数 = 最新データ.max更新回数)
------------------------------------------------
※別名が[table2]だと分かりにくいので[最新データ]としました。
ただ追加するだけだと、前の質問(http://www.okweb.ne.jp/kotaeru.php3?q=155505)と同じ問題が発生すると思われますので、何らかの方法で回避してください。(分からなければ補足してください。)
No.1
- 回答日時:
過去ログに同じ問題があるのでそれの応用だと思います。
店番号+更新回数でユニークになりますね。
select *
from table1 inner join (select 店番号,max(更新回数) as max更新回数 from table1 group by 店番号)as table2) on (table1.店番号=table2.店番号) and (table1.更新回数=table2.max更新回数)
この回答への補足
storkさんたびたびありがとうございます。
また、返事が遅くなりすみません。
昨日回答いただいてから色々とやってみたのですが、私のSQL知識不足でうまくいきませんでした。
すみませんが少し質問させてください。
SQL中のtable1やtable2は指定するテーブル名を指定したら良かったでしょうか。
それと追加クエリで現在
INSERT INTO PC売上_M(店番号,商品番号,更新回数,金額・・・)
SELECT [PC売上_T].[店番号],[PC売上_T].[商品番号],[PC売上_T].[更新回数],[PC売上_T].[金額]・・・
FROM PC売上_T;
のような感じであるのですが、教えていただいたSQLはどこの部分に追加したらよいのでしょうか。
お手数ですがどうぞよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ACCESS クエリで重複データを最新の1件だけ表示
Access(アクセス)
-
Access 各レコードの中での最大フィールドを抽出したい
Access(アクセス)
-
最新の日付とその金額をクエリー抽出したい(access)
その他(データベース)
-
-
4
あるフィールドの最大値を条件にデータを抽出する方法
その他(データベース)
-
5
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
6
ACCESSのクエリで抽出条件「または」は9個までしかかけませんよね…
Access(アクセス)
-
7
クエリ上でフィールド名が2つあるときの見分け方
Access(アクセス)
-
8
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
9
アクセスのフィールド表示を2段にする方法・抽出の方法
Access(アクセス)
-
10
ACCESS 一番最新の日付の金額を出したいのですが・・
その他(データベース)
-
11
ACCESSの計算式を入れると%表示ができなくなります。
その他(データベース)
-
12
Access 複数のクエリの結果をひとつの表にまとめたいのですが
Access(アクセス)
-
13
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
14
Accessの重複クエリで最小以外を削除したい
その他(Microsoft Office)
-
15
ACCESS2007 フォーム 「バリアント型でない変数にNull値を代入しようとしました」エラーの
SQL Server
-
16
Accessクエリ 複数フィールドを対象に空白の場合は全件表示したい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
将棋のDB。「この局面と同一の...
-
データベースファイル(.db)を開...
-
警察はスマホに保存した動画や...
-
最新の日付とその金額をクエリ...
-
Accessを開きなおすとテキスト...
-
PC内臓のカメラが認識されない。
-
ACCESSのSQLで、NULLかNULLでな...
-
顧客データベースを作る場合、...
-
DocuWorksでの印刷
-
マイクロソフトAccessでsqlのas...
-
旧filemakerで和暦(令和など)...
-
縦書きテキストボックスの表示"...
-
「1004:アプリケーション定義...
-
エクセルのフィルタ抽出が固まる
-
c言語の問題です。これを踏まえ...
-
Accessで指定のレコードを削除...
-
CSVファイルでテキストの改行の...
-
DB2のSELECTでカンマ編集につい...
-
OS400/DB2のデータをWebで表示...
-
LEFT JOIN をしているのに表示...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESS VBA レコードセットの参...
-
Accessのクエリでフィールドの...
-
2つのテーブルの間で条件に合致...
-
テーブルの集計値を別テーブル...
-
枝番と主キーがある複数テーブ...
-
COUNTについて
-
全パターンを出力するSQL文
-
phpmyadminのリレーション
-
MYSQL 異なる DB 結合
-
結合が上手くいきません
-
既存のテーブルに重複フラグを新設
-
LEFT OUTER 外部結合で一致し...
-
GROUP BYを行った後に結合した...
-
Oracleでの文字列連結サイズの上限
-
OracleのSQL*PLUSで、デー...
-
Accessで別テーブルの値をフォ...
-
決定性有限オートマトン
-
select insertで複数テーブルか...
-
DataGridViewの、選択されてい...
-
ファイル書込みで一行もしくは...
おすすめ情報