繁体   English   中英

根据没有主键的日期连接两个表(SQL Server 2014)

[英]Joining two tables based on their dates without primary keys(SQL Server 2014)

我在这里迷路了

我有两张桌子

这是周期表

在此处输入图片说明

和天表

在此处输入图片说明

天数表统计员工休假的天数

周期表是由很多 if else 语句创建的临时表

我想要做的是将 Days 表与按年份分组的 Period 表连接起来(并可能使用聚合函数)

----EDIT---- 这里是 Days 表的查询

Select COUNT(isMandatory) + COUNT(isVacation) as 'Mandatory/Sick', COUNT(isSick) as Sick, 
YEAR (date) as 'Year' from datesInclusiveTable where leaveID in 
(select leaveID from leaveTable where acctNo = 'M29076')
Group by YEAR (date)

你看它有聚合函数

我想发布周期表的查询,但它太长了,可能是

太复杂了

如果 DateStarted(或 DateEnded)的数据类型为日期:

SELECT * FROM Days D
INNER JOIN Period P ON YEAR(P.DateStarted) = D.Year

尝试这个:

SELECT * FROM Days D
JOIN Period P ON YEAR(CONVERT(date, P.DateStarted)) = D.Year;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM