我有1個與12個列,該列的4具有字段,諸如大表:VERSIONID,StatusID,用戶ID等。查詢涉及多個表:INNER JOIN排除某些行
我有3個小表版本,狀態等...此表格包含如下信息:「VersionID」1 = Active「; VersionID 2 = Disabled ... etc」對於StatusID和OwnerID也是如此。 我創建了一個Query,它顯示來自「Big Table」的信息,並且包含在VersionID,StatusID等中的信息應該從較小的表中顯示,例如:如果在大表中顯示的VersionID是「1 「我想讓它顯示..in這種情況下,定義‘活動’
我設法通過使用下面的代碼來做到這一點:
SELECT
Object.Type, Object.ID, Object.Key, Object.IsInactive,
Version.Version AS VersionID,
Status.StatusText AS StatusID,
ObjectDetail.BalancePosition, ObjectDetail.FrequencyID,
ObjectDetail.FrequencyTimeLagID, ObjectDetail.ObjectName,
ObjectDetail.Description, ObjectDetail.ValueSpecification,
ObjectDetail.Computation, ObjectDetail.StorageSystemID,
ObjectDetail.StorageSystemField, ObjectDetail.TableFunctionalDatamodel,
ObjectDetail.OwnerID
FROM
Version
INNER JOIN
(
[Object]
INNER JOIN
(
ObjectDetail
LEFT JOIN
Status
ON ObjectDetail.[StatusID] = Status.[ID]
)
ON Object.ID = ObjectDetail.ObjectID
)
ON Version.ID = ObjectDetail.VersionID
WHERE (((Object.Type)=0) AND ((Object.ID) Is Null))
OR (((Object.Type)=0) AND ((Object.Key) Is Null))
OR (((Object.Type)=0) AND ((Object.IsInactive) Is Null))
OR (((Object.Type)=0) AND ((Version.Version) Is Null) AND ((ObjectDetail.VersionID) Is Null))
OR (((Object.Type)=0) AND ((Status.StatusText) Is Null))
OR (((ObjectDetail.BalancePosition) Is Null))
OR (((ObjectDetail.FrequencyID) Is Null))
OR (((ObjectDetail.FrequencyTimeLagID) Is Null));
這一切正常,問題是錯誤的條目例如在狀態ID - 「999」中,我們的「999」在小表中沒有定義..我不希望顯示。我希望查詢只顯示沒有條目或沒有條目的字段e小表中的定義。
請格式化查詢... –