我是sql&的新手。论坛 - 需要有关如何在临时表中插入重复行的帮助。想要创建视图
View - Employee:
Name Empid Status Manager Dept StartDate EndDate
AAA 111 Active A111 Cashier 2015-01-01 2015-05-01
AAA 111 Active A222 Sales 2015-05-01 NULL
我不知道如何编写函数,但确实有DATE表。 日期表:(365天)上升到2018年
Date Fiscal_Wk Fiscal_Mon Fiscal_Yr
2015-01-01 1 1 2015
结果查询 如何在整个日历年的每个开始日期从Employee基础复制每条记录的行。
Result:
Name Empid Status Manager Dept Date FW FM FY
AAA 111 Active A111 Cashier 2015-01-01 1 1 2015
AAA 111 Active A111 Cashier 2015-01-02 1 1 2015
******所以!!!!!!
AAA 111 Active A222 Sales 2015-05-01 18 5 2015
AAA 111 Active A222 Sales 2015-05-02 18 5 2015
******所以!!!!!!
提前致谢,
昆
答案 0 :(得分:0)
您正在寻找的是join
操作。但是,join
的条件不相等,因为您希望所有行都匹配两个值。
基本理念是:
select e.*, c.date
from employee e join
calendar c
on e.startdate >= c.date and
(e.enddate is null or c.date <= e.enddate);
答案 1 :(得分:0)
cordova emulate android
这实际上将日历中的每条记录都加入到Employee中的每条记录中。 所以,如果员工中有2条记录,日历中有10条记录,那么最终总计20条,每条记录10条。
答案 2 :(得分:0)
修改后的查询 - 这会产生先前&amp;的结果。最近的记录
选择e。*,c.date,c.FW,c.FM,c.FY 来自员工e 加入日历c 在e.startdate&lt; = c.date和 ISNULL(e.enddate,GETDATE())&gt; c.date