我想使用WQL(本質上是SQL)返回包含來自SCCM 2012的項目的行,並且當我修改它以獲取信息時,我在結果中獲取重複行使用內部連接另一臺(本來我也沒在意有SMS_ObjectContainerItem.ContainerNodeID,只是使用的where子句)SQL Inner Join(SCCM 2012 WQL)的重複結果
下面是代碼:
SELECT DISTINCT table1.Name, table1.CollectionID, table2.ContainerNodeID
FROM table1
INNER JOIN table2 ON table1.CollectionID = table2.InstanceKey
WHERE table1.CollectionID IN
(
SELECT DISTINCT InstanceKey
FROM table2
WHERE ObjectType='5000' AND (ContainerNodeID=16777279 OR ContainerNodeID=16777220)
) AND CollectionType='2'
ORDER BY table1.Name
有一件事我要說明的是,提供外部WHERE子句的內部查詢返回55個結果,但完整查詢返回84個結果,其中所有額外結果都是隻是一些以前的重複。獨特不能解決這個問題,我有一種感覺,實際的修復將是Inner Join/where子句的修改,但是我的SQL技能還沒有完成。任何幫助將不勝感激,刪除我得到的額外的行。
謝謝。
更多信息,當我這樣做時,查詢返回沒有重複,這是我寫的原始查詢,但現在我想保留該行所來自的ContainerNodeID,出現額外的行。
SELECT DISTINCT table1.Name, table1.CollectionID
FROM table1
WHERE table1.CollectionID IN
(
SELECT DISTINCT InstanceKey
FROM table2
WHERE ObjectType='5000' AND (ContainerNodeID=16777279 OR ContainerNodeID=16777220)
) AND CollectionType='2'
ORDER BY table1.Name
EDITED:通用表名,以方便閱讀。加入其它例如
當你有重複的時候,你想要哪一個?樣本數據和期望的結果將有助於澄清你真正想做的事情。 –