Group By は次の問題を解決すると思いますが、Select Distinct かもしれません。いずれにせよ、私はあなたに敬意を表します:
目標:
契約、LaborCode、Schedule で連結するには。私は複数のサービスを提供する会社で働いており、任意の範囲の日付を取得して、各サービスを提供する曜日を指定したいと考えています。1 か月の間に (4) 月曜日が発生します。私は 1 つの月曜日だけを見たいと思っています。補足として、XML パスを試してみましたが、うまくいかないようです。
コード:
Select Top 100 Percent Agreements.AgrmntID, JobSites.SiteName,
Customers.CompanyName, LaborCodeTypes.Description As LaborCode, DateName(dw,
AgreementSchedules.SchedDate) as Schedule
From Agreements Inner Join
AgreementSchedules On Agreements.AgrmntID = AgreementSchedules.AgrmntID
Inner Join
Customers On Agreements.CustID = Customers.CustID Inner Join
JobSites On Agreements.CustSiteID = JobSites.CustSiteID Left Outer Join
LaborCodeTypes On AgreementSchedules.RepairID = LaborCodeTypes.RepairID
Where Agreements.Status = 2
データ (スケジュールは AgreementSchedules.SchedDate から派生) - 選択された 2 週間:
AgrmntID SiteName Company LaborCode Schedule
---------- ---------- ---------- ---------- ----------
1 JOB01 COMP01 Sweeping Monday
1 JOB01 COMP01 Sweeping Wednesday
1 JOB01 COMP01 Sweeping Monday
1 JOB01 COMP01 Sweeping Wednesday
1 JOB01 COMP01 Porter Thursday
1 JOB01 COMP01 Porter Thursday
2 JOB02 COMP02 Landscaping Tuesday
2 JOB02 COMP02 Landscaping Tuesday
望ましい出力:
AgrmntID SiteName Company LaborCode Schedule
---------- ---------- ---------- ---------- ----------
1 JOB01 COMP01 Sweeping Monday
1 JOB01 COMP01 Sweeping Wednesday
1 JOB01 COMP01 Porter Thursday
2 JOB02 COMP02 Landscaping Tuesday
どうもありがとうございました。私は何日も運がないので、これを理解しようとしてきました。