SQL查询,如果没有记录返回连接的记录

SQL查询,如果没有记录返回连接的记录,sql,sql-server,Sql,Sql Server,我有以下SQL Server查询: SELECT @alloweddays as alloweddays, @prevalloweddays as prevalloweddays, ISNULL(COUNT(0),0) as useddays, CASE WHEN COUNT(0) > @alloweddays THEN COUNT(0) - @alloweddays ELSE 0 END as daysinadvance, CASE WHEN @

我有以下SQL Server查询:

SELECT 
    @alloweddays as alloweddays,
    @prevalloweddays as prevalloweddays,
    ISNULL(COUNT(0),0) as useddays,
    CASE WHEN COUNT(0) > @alloweddays THEN COUNT(0) - @alloweddays ELSE 0 END as daysinadvance,
    CASE WHEN @alloweddays > COUNT(0) THEN @alloweddays - COUNT(0) ELSE 0 END as remainingdays,
    temp.prevremainingdays
FROM 
    employee_holiday_item hi
JOIN
    (SELECT 
        CASE WHEN @prevalloweddays > COUNT(0) THEN @prevalloweddays - COUNT(0) ELSE 0 END as prevremainingdays,
        hi.employeeid
     FROM 
        employee_holiday_item hi
     WHERE 
        hi.employeeid = 351
        AND hi.isactive = 1
        AND hi.date BETWEEN @prevstartperiod AND @prevendperiod
     GROUP BY 
        hi.employeeid) temp ON temp.employeeid = hi.employeeid
WHERE 
   hi.employeeid = 351
   AND hi.isactive = 1
   AND hi.date BETWEEN @startperiod AND @endperiod
GROUP BY 
   temp.prevremainingdays
如果第一次选择中没有记录,则不会返回任何记录,但我希望至少获得JOIN select记录

此查询获取员工在实际年份请求的假期。join获取上一个期间的未使用天数,因此如果员工在实际年份中没有假期请求,我希望至少看到上一个期间的未使用天数

我在考虑有两个完整的单独的选择,然后只做联合所有,但不知道这是最好的方式做它

有什么线索吗?

改变

...
FROM employee_holiday_item hi
JOIN(
SELECT
    CASE WHEN @prevalloweddays ...


这是说,采取一切从右边的加入,并返回它无论什么。。。如果在联接的左侧返回结果,也将返回结果。

阅读有关内部联接、外部联接、左侧联接和右侧联接的内容:
...
FROM employee_holiday_item hi
RIGHT OUTER JOIN(
SELECT
    CASE WHEN @prevalloweddays ...