0

このクエリを使用してデータベースから情報を抽出しようとしましたが、

SELECT dbo.AfterHoursParameterSetup.Customer_id
, dbo.tblCustomer.Company
, dbo.tblDevices.device_id
, dbo.AfterHoursParameterSetup.DeviceMasterID
, dbo.tblDriverType.DriverType
, dbo.tblGroups.GroupName
, dbo.AfterHoursParameterSetup.ReportBy
, dbo.AfterHoursParameterSetup.TripTimeFilter
, dbo.AfterHoursParameterSetup.chkWeekEndTravel
, dbo.AfterHoursParameterSetup.WeekdayStart
, dbo.AfterHoursParameterSetup.WeekDayEnd
, dbo.AfterHoursParameterSetup.WeekEndFrom
, dbo.AfterHoursParameterSetup.WeekEndTo
, dbo.AfterHoursParameterSetup.ReportType
FROM dbo.AfterHoursParameterSetup
FULL JOIN dbo.tblCustomer
ON dbo.AfterHoursParameterSetup.Customer_id = dbo.tblCustomer.Customer_id
FULL JOIN dbo.tblDriverType
ON dbo.AfterHoursParameterSetup.DeviceMasterID = dbo.tblDriverType.DriverType_id
FULL JOIN dbo.tblGroups
ON dbo.AfterHoursParameterSetup.DeviceMasterID = dbo.tblGroups.Group_id
FULL JOIN dbo.tblDevices
ON dbo.AfterHoursParameterSetup.DeviceMasterID = dbo.tblDevices.device_id
ORDER BY dbo.AfterHoursParameterSetup.Customer_id ASC

NULL値を削除できるように、このクエリを構造化する別の方法はありますか?dbo.AfterHoursParameterSetup.DeviceMasterIDはすべてをリンクしますが、その列は3つの異なるテーブルの値を使用するため、一致する値がない場合、一致する結合値が存在しない場合に選択された他のすべての列に対してNULLを返します。

4

1 に答える 1

0

私があなたの質問を理解するなら、あなたはテーブルの交差点が欲しいです。もしそうなら、ユーザー内部参加。

SELECT dbo.AfterHoursParameterSetup.Customer_id
    , dbo.tblCustomer.Company
    , dbo.tblDevices.device_id
    , dbo.AfterHoursParameterSetup.DeviceMasterID
    , dbo.tblDriverType.DriverType
    , dbo.tblGroups.GroupName
    , dbo.AfterHoursParameterSetup.ReportBy
    , dbo.AfterHoursParameterSetup.TripTimeFilter
    , dbo.AfterHoursParameterSetup.chkWeekEndTravel
    , dbo.AfterHoursParameterSetup.WeekdayStart
    , dbo.AfterHoursParameterSetup.WeekDayEnd
    , dbo.AfterHoursParameterSetup.WeekEndFrom
    , dbo.AfterHoursParameterSetup.WeekEndTo
    , dbo.AfterHoursParameterSetup.ReportType
FROM dbo.AfterHoursParameterSetup 
    INNER JOIN dbo.tblCustomer ON dbo.AfterHoursParameterSetup.Customer_id = dbo.tblCustomer.Customer_id
    INNER JOIN dbo.tblDriverType ON dbo.AfterHoursParameterSetup.DeviceMasterID = dbo.tblDriverType.DriverType_id
    INNER JOIN dbo.tblGroups ON dbo.AfterHoursParameterSetup.DeviceMasterID = dbo.tblGroups.Group_id
    INNER JOIN dbo.tblDevices ON dbo.AfterHoursParameterSetup.DeviceMasterID = dbo.tblDevices.device_id
ORDER BY dbo.AfterHoursParameterSetup.Customer_id ASC
于 2013-01-30T17:02:27.963 に答える