[nom_lab]、[nom_desc]、[nom_apres]、[date_vig]、[cod_med]、[vr_pmc] の 6 つのフィールドを持つ tbl_med という名前のテーブルがあるとします。
次のような MS Access SQL クエリが必要です。
- [nom_lab]、[nom_desc]、[nom_apres]、[date_vig] の 4 つのフィールドに関連する重複レコードを検索します。
- 6 つのフィールドすべてを表示します (重複のチェックに使用されるフィールドだけではありません)。
MS Access の "Find Duplicates Query Wizard" を使用すると、次の SQL が得られました。
SELECT tbl_med.[nom_lab], tbl_med.[nom_desc], tbl_med.[nom_apres], tbl_med.[date_vig], tbl_med.[cod_med], tbl_med.[vr_pmc]
FROM tbl_med
WHERE tbl_med.[nom_lab]
IN
(
SELECT [nom_lab]
FROM [tbl_med] As Tmp
GROUP BY [nom_lab], [nom_desc], [nom_apres],[date_vig]
HAVING Count(*)>1
And [nom_desc] = [tbl_med].[nom_desc]
And [nom_apres] = [tbl_med].[nom_apres]
And [date_vig] = [tbl_med].[date_vig]
)
ORDER BY tbl_med.[nom_lab], tbl_med.[nom_desc], tbl_med.[nom_apres], tbl_med.[date_vig];
And
上記の横罫線の間の3 つの条件が必要な理由を説明できる人はいますか?
理解しやすい、より直感的なクエリを持っている人はいますか?