【问题标题】:Getting dates for each user - even if no activity in between获取每个用户的日期 - 即使两者之间没有活动
【发布时间】:2017-11-28 23:13:01
【问题描述】:

我有一个问题,我觉得我知道这一点,但我找不到解决方案。

我有一个生成日期范围的临时表。

临时表

Date
11/1/2017
11/2/2017
11/3/2017
11/4/2017
11/5/2017

需要加入这个表:

Date        User    Permissions
11/1/2017   A       2
11/2/2017   A       4   
11/5/2017   A       7
11/3/2017   B       1
11/4/2017   B       2

这是我正在寻找的结果。 但是,连接不会产生结果。

Date        User    Permissions
11/1/2017   A       2
11/2/2017   A       4
11/3/2017   A       0
11/4/2017   A       0
11/5/2017   A       5
11/1/2017   B       0
11/2/2017   B       0
11/3/2017   B       1
11/4/2017   B       2
11/5/2017   B       0

【问题讨论】:

    标签: sql join left-join cross-apply right-join


    【解决方案1】:

    与用户和left join 其他表交叉加入日期。

    select t.date,u.user,coalesce(o.permissions,0) as permissions
    from temptable t
    cross join (select distinct user from other_tbl) u
    left join other_tbl o on o.user=u.user and o.date=t.date
    

    【讨论】:

    • 谢谢!!!!我知道是这样的。就是来不及。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    相关资源
    最近更新 更多