SELECT dbo.Monitor_Request.WorkDesc
, dbo.Monitor_Request.Request_ID
, dbo.Monitor_Request.Due_Dt
, dbo.Monitor_Request.Attempts
, dbo.Monitor_Request.Status_Ind
, dbo.Monitor_Request.Create_Dt
, dbo.Monitor_Request.Monitor_ID
, dbo.Monitor_Request.ByCustomer_ID
, dbo.Monitor_Request.ByCompanyID
, dbo.CompanyShim.Company_Name
, dbo.PostalAddressShim.HouseName
, dbo.PostalAddressShim.Street
, dbo.PostalAddressShim.Town
, dbo.PostalAddressShim.City
, dbo.PostalAddressShim.County
, dbo.PostalAddressShim.Postcode
FROM dbo.PostalAddressShim
RIGHT OUTER JOIN dbo.CompanyShim ON dbo.PostalAddressShim.Address_ID = dbo.CompanyShim.Company_Address_ID
RIGHT OUTER JOIN dbo.CUSTOMER ON dbo.PostalAddressShim.Address_ID = dbo.CUSTOMER.Address_ID
RIGHT OUTER JOIN dbo.Monitor_Request ON dbo.CUSTOMER.Customer_ID = dbo.Monitor_Request.ByCustomer_ID
AND dbo.CompanyShim.Company_ID = dbo.Monitor_Request.ByCompanyID
私は、顧客の詳細をそのアドレスとともに表示するためのビューを作成しました。顧客は個人または会社になることができます。それらは異なるテーブルに格納されます。個人の場合、詳細は得意先テーブルに保存され、会社詳細は会社テーブルに保存されます。私は彼らのアドレスを表示するためにデータベース内のすべての顧客のビューを作成しようとしています。テーブルを別々に結合すると、アドレスの詳細が表示されますが、両方のテーブル(顧客と会社)に同時に参加すると、アドレスの詳細列にNULL値が得られません。複数のテーブルとビューに結合する
にはどうすればLEFT OUTER JOIN
秒にごRIGHT OUTER JOIN
Sを変更してみてください、一見