【发布时间】:2020-11-30 21:15:46
【问题描述】:
我有两张数据表,一张是交易表,将每位员工与 2020 财年的软件使用情况联系起来,另一张是员工表。它们有一个称为 trackingid 的主键关系。因此,对于一名员工,他们可以进行许多交易。我们还会计算软件的使用小时数,并将其加总为使用天数。
我的目标是生成一份报告,其中显示不同用户、其他列以及正确分组的计算使用天数。每次我试图让选择起作用时,我都会得到 1 行每个软件实例的使用时间。
由于我不太擅长 SQL,我在 GROUP BY 和 AGGREGATE 函数上苦苦挣扎,我需要正确生成此输出。
select DISTINCT w.[TrackingId], w.[FirstName], w.[LastName], w.[Email], w.UserName,
w.[OfficeAddress1], w.[OfficeCity],w.[OfficeCountry], w.[OfficePostCode], w.[SupervisorName],w.[Department], w.[DepartmentName],w.[Organization], t.ProductName, t.FiscalPeriod, t.UsageHours
from
dbo.Employee_Users w INNER JOIN
dbo.SoftwareTransactions t ON w.TrackingID = t.TrackingId
示例数据如下所示:
FirstName,LastName,Email,UserName,OfficeAddress1,OfficeCity,OfficeCountry,OfficePostCode,SupervisorName,Department,DepartmentName,Organization,ProductName,FiscalPeriod,UsageHours
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q1-10,0.107
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q1-12,0.316
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q1-12,1.627
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q2-01,0.027
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q2-01,1.21
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q2-01,4.548
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q2-02,0.02
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q2-02,0.911
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q2-03,7.022
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q2-03,104.896
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q2-03,148.505
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q3-04,719.469
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q3-06,2260.458
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q4-07,616.381
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q4-09,1846.506
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,ARC/INFO,FY2020-Q4-09,2489.788
Employee1,Employee1LN,Employee1.Employee1LN@Company.com,Employee1LNA,Siemensstr 10,Neu-Isenburg,Germany,63263,"Supervisor1",A224,522.DEU EMIA MGMT Ops IT,52.Company GMBH.EUDEU1.A224,Viewer,FY2020-Q1-10,1.792
【问题讨论】:
-
帮助我们帮助您 - 分享一些示例数据,以及您试图为此示例获得的结果
-
好的,由于 GDPR,我可以分享的内容有限。让我清理一下,然后分享。
-
它不需要是真实数据——即使是一些虚构的员工和交易数据也可以帮助说明你想要做什么
-
我为一位用户添加了一些虚假数据。
标签: sql sql-server