SQL SERVER-与Calendar Table一起获得Weekend,从星期五到星期六和星期日带来价值

时间:2019-06-11 11:17:01

标签: sql-server missing-data with-statement azure-sqldw azure-sql-data-warehouse

我正在尝试将周六和周日纳入当前结果,并将值从周五移至周六和周日。

我的初始数据集:

create table AA as (userid varchar(10), return_date datetime,  first_date  
datetime);
insert into AA 
select ('A',  '2019-06-07', '2019-06-01 15:46:43.000')
union all 
select ('A',  '2019-06-10', '2019-06-01 15:46:43.000')
union all 
select ('B',  '2019-06-07', '2019-06-03 15:46:43.000')
union all 
select ('B',  '2019-06-10', '2019-06-03 15:46:43.000');

我尝试使用“完全外部联接” /“交叉联接” /“滞后” /“引线”,但没有成功。我想避免循环,我不认为这需要循环。

Im还在Azure SQL DataWarehouse上工作,因此存在许多限制,例如递归CTE受限制。

这是我正在寻找的结果:

userid,     return_date,        first_date
A,          '2019-06-07',       '2019-06-01 15:46:43.000'
A,          '2019-06-08',       '2019-06-01 15:46:43.000'
A,          '2019-06-09',       '2019-06-01 15:46:43.000'
A,          '2019-06-10',       '2019-06-01 15:46:43.000'
B,          '2019-06-07',       '2019-06-03 15:46:43.000'
B,          '2019-06-08',       '2019-06-03 15:46:43.000'
B,          '2019-06-09',       '2019-06-03 15:46:43.000'
B,          '2019-06-10',       '2019-06-03 15:46:43.000'

非常感谢您的帮助。真的很感激。谢谢!

1 个答案:

答案 0 :(得分:0)

如果我了解您的要求,那么我认为这会起作用:

 public void ChangeMap(){
    map.dispose();
    map = new TmxMapLoader().load("Assets/Maps/World map1.tmx"); //load the new map
    renderer.setMap(map);
    worldcreator = new WorldCreator(world, map);


}