我正在创建一个视图以显示其中包含合同日期的记录。
此视图的数据来自两个表,一个存储客户详细信息,另一个存储日期信息。
日期本身存储在 DateCol 列中,DateCol 列的 ID 来自 TypeID,例如 118 等于合同开始日期,119 等于结束日期。这将返回大约 250 个结果。
我构建的视图运行对客户端 ID 的查找并显示 date_type 中的日期(即 118 和 119 显示 01/01/2012 和 01/03/2012)。如果我添加显示 120 的第三列,结果总数将减少到 6。
我需要查看所有结果,但我不确定如何构建显示所有这些结果的视图。我无法修改原始数据库,因为它支持 Maximizer。
我们使用的是 SQL 2005,我使用 Management STudio 构建了它,但我的知识有点有限。
这是我的观点的代码:
SELECT *
FROM dbo.AMGR_Client_Tbl
INNER JOIN dbo.FOOTPRINTS_Companies_118
ON dbo.AMGR_Client_Tbl.Client_Id =
dbo.FOOTPRINTS_Companies_118.Client_Id
INNER JOIN dbo.FOOTPRINTS_Companies_119
ON dbo.AMGR_Client_Tbl.Client_Id =
dbo.FOOTPRINTS_Companies_119.Client_Id
INNER JOIN dbo.FOOTPRINTS_Companies_120
ON dbo.AMGR_Client_Tbl.Client_Id =
dbo.FOOTPRINTS_Companies_120.Client_Id
INNER JOIN dbo.FOOTPRINTS_Companies_121
ON dbo.AMGR_Client_Tbl.Client_Id =
dbo.FOOTPRINTS_Companies_121.Client_Id
WHERE ( dbo.AMGR_Client_Tbl.Record_Type = '1' ) AND ( dbo.AMGR_Client_Tbl.Name_Type = 'C' )
OR ( dbo.AMGR_Client_Tbl.Record_Type = '1' ) AND ( dbo.AMGR_Client_Tbl.Name_Type = 'C' )