连接到表的所有行,即使没有sql server值

连接到表的所有行,即使没有sql server值,sql,sql-server,function,Sql,Sql Server,Function,我有一个日期表,我用它来确定一年中的一周(我们的一年现在不是基于日历年)。我有一个联合查询,它创建了一个表,我将在表值函数中使用该表。我可以在union查询中创建表,但它只生成包含实际数据的40周。无论数据是否存在,我都需要它显示周数。 我已尝试在week表上保留外部联接,但仍然只获取周中有相关数据的记录 left outer join [dbo].[LOOKUP_WEEK_NUMBER] w on (p.[Program_Year_ID] = w.[Program_Year_Nbr])

我有一个日期表,我用它来确定一年中的一周(我们的一年现在不是基于日历年)。我有一个联合查询,它创建了一个表,我将在表值函数中使用该表。我可以在union查询中创建表,但它只生成包含实际数据的40周。无论数据是否存在,我都需要它显示周数。
我已尝试在week表上保留外部联接,但仍然只获取周中有相关数据的记录

    left outer join [dbo].[LOOKUP_WEEK_NUMBER] w on
(p.[Program_Year_ID] = w.[Program_Year_Nbr]) and
(p.[Installation_Complete_Date] between w.[Week_Start] and w.[Week_End])
LOOKUP_WEEK_NUMBER表格包含一年中的所有周以及每周的开始和结束日期。p表包含项目数据。我所做的是将项目分成几周进行报告。

谁能给我指出正确的方向吗?提前感谢。

从查找表更改为
左连接,而不是到查找表,或者使用
右连接到查找表

from  [dbo].[LOOKUP_WEEK_NUMBER] w
  left join ... p 
    on (p.[Program_Year_ID] = w.[Program_Year_Nbr])
   and (p.[Installation_Complete_Date] between w.[Week_Start] and w.[Week_End])

添加一些示例表数据和预期结果-所有文本均为格式良好的文本。请尝试改用
右连接。