我正在創建一個視圖來顯示其中包含合同日期的記錄。從同一個表格的列中查看行中的記錄
該視圖的數據來自兩個表格,一個存儲客戶端詳細信息,另一個存儲日期信息。
日期本身存儲在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')
當你需要一個'OUTER JOIN'時,你可能使用了一些'INNER JOIN',但是很難說沒有看你的代碼(所以請發表你的代碼) – Lamak 2012-04-24 16:50:02
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 – Raddo2003 2012-04-24 17:02:27
WHERE(dbo.AMGR_Client_Tbl.Record_Type ='1')A ND(dbo.AMGR_Client_Tbl.Name_Type ='C')OR (dbo.AMGR_Client_Tbl.Record_Type ='1')AND(dbo.AMGR_Client_Tbl.Name_Type ='C') – Raddo2003 2012-04-24 17:02:45