我相信一个Group By可以解决以下问题,但也许它是Select Distinct。无论哪种方式,我恭敬地转向你:分组依据多个表
目标:
为了巩固协议,然后LaborCode然后安排。我为一家执行多项服务的公司工作,我想要采取任何日期范围并指定我们每周执行每项服务的日子。在一个月的时间内,我们会有(4)星期一 - 我想只看到一个星期一。作为一个侧面说明,我已经尝试过XML Path,但它似乎不起作用。
的代码:
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
谢谢很多提前。我一直在试图找出几天没有运气的情况。
谢谢非常!!哇 - 我不敢相信我浪费了多少时间让这种方式比它需要的更复杂。 –