左外连接每组右table?

Left Outer Join With Per Group of Right table?

我有两个 table,LR

我想在 LR 中的每组行之间有一个 Left Outer join

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

SQL 中最好的查询是什么?

我用CROSS JOIN算子解决了。

table大号:

Table 回复:

我的查询: 声明@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

结果: