在临时表中插入重复的行

时间:2015-05-22 16:25:10

标签: sql

我是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

******所以!!!!!!

提前致谢,

3 个答案:

答案 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