左外连接每组右表?

时间:2015-12-07 10:26:26

标签: sql group-by outer-join

我有两个表,LR

我希望Left Outer joinL中的每组行之间R。{/ p>

更清楚的是,左表中的所有行必须是每组右行的结果集。

SQL中最好的查询是什么?

1 个答案:

答案 0 :(得分:0)

我是CROSS JOIN运营商解决的。

表L: enter image description here

表R: enter image description here

我的查询: 声明@userid int 设置@userid = null

 SELECT T.Id, T.Name,T.UserId,R.Val
        FROM 
            (
            SELECT L.Id, L.Name,R.UserId
            FROM
            (SELECT DISTINCT UserId FROM R ) R 
            CROSS JOIN  L
            )T

            LEFT OUTER JOIN R
            ON (T.Id = R.DayId AND T.UserId = R.UserId)
            where @userid is null or T.userid=@userid

结果: enter image description here