小田切です。 住民テーブルからは、 住民IDごとに最大の有効開始日を持っているものを 対象とするのですかね? このあたりは定石の部類かと思いますが、 以下のような感じでいけるのではないでしょうか。 SELECT FROM 住民 JOIN (SELECT 住民ID, MAX(有効開始日) 有効開始日 FROM 住民) x ON x.住民ID = 住民.住民ID AND x.有効開始日 = 住民.有効開始日 JOIN 婚姻 ON 婚姻.住民ID1 = 住民.住民ID OR 婚姻.住民ID2 = 住民.住民ID WHERE 婚姻.有効開始日 = ? -- /* * 小田切篤 * mailto:a.odagiri @ nskint.co.jp */