siteIPあなたの例から、列が列によって決定されると仮定するのは合理的ですsiteName(つまり、各サイトには 1 つしかありませんsiteIP)。これが実際に当てはまる場合は、次を使用した簡単な解決策がありますgroup by。
select
sites.siteName,
sites.siteIP,
max(history.date)
from sites
inner join history on
sites.siteName=history.siteName
group by
sites.siteName,
sites.siteIP
order by
sites.siteName;
ただし、私の仮定が正しくない場合 (つまり、サイトに複数の がある可能性があります) 、2 番目の列でどのクエリを返したいsiteIPかという質問からは明確ではありません。siteIPだけの場合siteIP、次のクエリが実行されます。
select
sites.siteName,
min(sites.siteIP),
max(history.date)
from sites
inner join history on
sites.siteName=history.siteName
group by
sites.siteName
order by
sites.siteName;