Contracts、Bills、および Companies という名前の 3 つのテーブルがあり、3 つのテーブルすべてをリンクする「ContractID」という名前の値に内部結合しています。そのクエリはうまく機能していますが、最新の結果のみを取得したいと考えています。ContractID フィールドは、異なる日付の Contract テーブルから複数の結果を返す可能性があるため、DISTINCT はそれを絞り込むために機能しません。
現在のクエリは次のとおりです。
SELECT cn.ContractID
, cn.Vendor
, cn.ContractDate
, b.ContractID
, b.TotalBill
, b.CurrentDue
, cm.ContractID
, cm.CompanyID
, cm.[Description]
FROM [Contract] cn
INNER JOIN Company cm
ON cn.ContractID = cm.ContractID
INNER JOIN Bill b
ON cn.ContractID = b.ContractID
MSSQLServer 2005 を使用しています。各 ContractID の最新の ContractDate 結果のみが返されるように、誰かがクエリを調整するのを手伝ってくれますか?