SQL Serverに、必要のないいくつかのレコードを表示しているクエリがあります。フィールドの関係は次のようになります。
ClientIDは複数のワークロード(WorkloadID)を持つことができますが、その逆(1対多)にすることはできません。各WorkloadIDには、ユニットが割り当てられています。各WorkloadIDには、DWLD(日付)が割り当てられています。複数のWorkloadIDは、同じClientID、DWLD、およびUnitを持つことができます。
クエリは次のとおりです。
select
w.WorkloadID,
w.ClientID,
w.Unit,
w.DWLD
from
Workload as w
left JOIN Clients as cli
ON w.ClientID = cli.ClientID
where
w.DWLD >= @start AND w.DWLD < @enddate
and w.IsDeleted <> 1
同じClientID、同じユニット、同じDWLDを持つ、使用可能ないくつかのレコードのうち1つのレコードだけを表示しないようにします。私は、have句を使用してテーブルを自己結合しようとしましたが、exists句はありませんが、正しい結果が得られませんでした。
ありがとう!