2011-07-19 83 views
0

我很難在WHERE子句中用2個子查詢執行'INSERT INTO'。我不確定我是否缺少,它一直指出在';'附近預期條件的上下文中指定了非布爾類型的表達式。在SQL Server中插入或更新包含2個子查詢的表

這是我嘗試它:

INSERT INTO [Monitor].[dbo].[MonitorIncidents] 
SELECT * 
FROM dbo.MonitorSource 
WHERE (
    SELECT DISTINCT * 
    FROM Lookup.dbo.ServerInfo S 
    WHERE NOT EXISTS 
    (
     SELECT 1 
     FROM Lookup.dbo.Facts F 
     WHERE F.FactsName = S.SrvName 
     AND W.DateTime > DATEADD(hour, -23, CURRENT_TIMESTAMP) 
    ) 
) 
+0

也許你打算使用'where exists exists(select distinct * ...)'(或'where not exists') –

+0

定義了哪裏?你有一個'W.DateTime' –

回答

1

WHERE從句中缺少一個操作數一樣=<>,等你只是返回場WHERE wihout比較。根據你想要做什麼,擴展你的WHERE以包括一個比較。

+0

謝謝,你是對的:) – Alex

相關問題