お世話になります。
当方、SQL server expressを使用しており、以下の2テーブルをフローIDで内部結合しています。
test1 test2
順番、フローID 通番、フローID、タイトル 更新日時
1 1 1 1 てすと 12/1
2 2 2 1 テスト2 12/2
3 3 3 2 テスト3 12/3
4 3 テスト4 12/4
SELECT * FROM test1 INNER JOIN test2 ON (test1.フローID=test2.フローID)
結果
順番 フローID 通番 フローID タイトル 更新日時
1 1 1 1 てすと 12/1
1 1 2 1 テスト2 12/2
2 2 3 2 テスト3 12/3
3 3 4 3 テスト4 12/4
ここで、順番=1の行で指定されているフローIDがテーブルtest2に二行存在するため、結合した結果も順番=1に対して二行になっています。
これを、test2のフローIDが重複する場合はtest2の更新日時が新しいほうだけを表示するようにしたいと考えています。
ご教授頂けますと幸いです。
感覚としては、test2テーブルをgroup by句でまとめたものをテーブルとして定義して、内部結合できればよさそうなのですが、上手い資料が見つかりませんでした。
クエリでも、ストアドプロシージャとしての実行でも構いません。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
TESTしてませんし、Deleteできるかわかりませんが
SELECT * FROM test1 INNER JOIN
(Select * From test2 where (フローID, 更新日時) = (SELECT (フローID, MAX(更新日時) ) From test2 Group by フローID ) ) as test2w
ON (test1.フローID=test2w.フローID)
カッコのネスト間違えてたらゴメン。
でも、重複のあるフローIDの、MAXではなかった行はどうなるのかな?
ご回答ありがとうございました。
参考にいろいろいじってみたら、満足のいく結果が得られました。
以下です。
SELECT test1.順番, test1.フローID, test2w.通番, test2w.フローID AS Expr1, test2w.タイトル, test2w.更新日時
FROM test1 INNER JOIN
(SELECT 通番, フローID, タイトル, 更新日時
FROM test2
WHERE (更新日時 IN
(SELECT MAX(更新日時) AS Expr1
FROM test2 AS test2_1
GROUP BY フローID))) AS test2w ON test1.フローID = test2w.フローID
大変ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 Aテーブルの情報をBテーブルに更新かけたいです。 やりたいことは、Bテーブルの受 1 2023/05/17 11:17
- MySQL うまくいきません教えてくださいお願いしますSQLです。クエリ構文です。 1 2023/07/07 12:39
- MySQL SQLです。こんな感じですか?あってますか? うまくいきません教えてくださいお願いします 1 2023/07/08 15:27
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- その他(データベース) accessについて 2 2022/05/31 16:58
- Access(アクセス) アクセス 削除するレコードを含んだテーブルを指定してくださいのエラー対処方法 1 2022/11/24 15:01
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access 2000 サブクエリとJOIN
-
片方のテーブルに無いデータを...
-
SQL文について
-
差し込み後、元データを変更し...
-
質問です How is your school l...
-
フィルターかけた後、重複を除...
-
SQLで特定の項目の重複のみを排...
-
外部参照してるキーを主キーに...
-
カーソル0件の時にエラーを発生...
-
IF文、条件分岐の整理方法
-
エクセルで最後の文字だけ置き...
-
select文のwhere句に配列を入れ...
-
Exel VBA 別ブックから該当デ...
-
処理件数を非表示にしたい
-
Access:クエリーにて集計後に...
-
EXISTSを使ったDELETE文
-
Oracleのデータ型、NUMBERについて
-
SELECT 文 GROUP での1件目を...
-
SQLで列名を変数にできないでし...
-
SQLServerで文字列の末尾からあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
BULKINSERTのWITHオプションに...
-
片方のテーブルに無いデータを...
-
日付型項目のNULLについて(Pos...
-
SQLServerでtime型への変換
-
Access 2000 サブクエリとJOIN
-
オークションでパソコンを売る場合
-
指定値を否定した条件で、NULL...
-
差分のSQL
-
データ突合のよい方法を教えて...
-
SQL文について
-
プロシージャがみつかりません...
-
ユーザーID入力について
-
外部結合+合計を出したい
-
Excelvba2013で、ユーザーフォ...
-
【SQL】指定期間の合計、MAX...
-
マクロの同時実行
-
テーブルの結合(GROUP BY句の制...
-
UPDATEについて(結合による)
-
sql express内部結合して重複行...
-
MS SQL Serverでのクエリ文
おすすめ情報