如何驗證服務器列表中的任何服務器是否不存在於我的表中?t-sql查詢來驗證是否存在任何服務器
(我需要驗證server1,server2或server3是否不存在於我的Nodes表中)。
I'm使用SQL Server 2008
如何驗證服務器列表中的任何服務器是否不存在於我的表中?t-sql查詢來驗證是否存在任何服務器
(我需要驗證server1,server2或server3是否不存在於我的Nodes表中)。
I'm使用SQL Server 2008
如果我正確地解釋你的問題,這應該工作。但是這個問題相當模糊......你是在尋找server1,2,3嗎?或者這是一個表值參數還是來自其他來源?多一點背景會有很大幫助。
;WITH servers AS (
SELECT 'server1' AS server UNION
SELECT 'server2' AS server UNION
SELECT 'server3' AS server)
SELECT
*
FROM
servers
LEFT OUTER JOIN Nodes ON (Nodes.Caption = servers.server)
WHERE
(Nodes.Caption IS NULL)
或者,對於非'NULL'解決方案:'SELECT server FROM servers EXCEPT SELECT caption AS server AS FROM nodes' – stakx
此查詢的輸出爲空,因爲我的表中沒有這3個服務器,但我是喜歡在查詢的輸出中看到這3個服務器。 – user1658549
非常感謝,我做了這個改變,現在它工作的很好! WITH AS( SELECT 'server1的' AS服務器UNION 選擇 '服務器2' AS服務器UNION 選擇 '服務器3' AS服務器) 選擇服務器從服務器只不過選擇字幕AS服務器從節點服務器 – user1658549
你的節點表是什麼樣的?你有什麼嘗試? – tsells
我沒有成功嘗試這樣:SELECT Nodes.Caption FROM 節點 WHERE NOT EXISTS(選擇節點nodes.caption其中nodes.caption像 的 'server1', '服務器2', '服務器3') – user1658549
你的節點表是什麼樣的? – tsells