关键字'来自'附近的语法不正确(不是)

时间:2015-11-26 17:31:36

标签: sql sql-server sql-server-2012

我正在尝试匹配不同的交易,但我无法找到为什么这不起作用。问题出在上一个FROM (c.ClientId from #amount1)。我试图使用临时表和CTE,甚至直接尝试完整的子查询。我也尝试了NOT EXISTS,但我对NOT IN感兴趣,所以我想要NULL值。

SELECT * 
into #transactions
FROM #amount1
UNION ALL
SELECT * 
FROM #amount2
UNION ALL
select  c.ClientId,
    c.ClientName,
    c.Date
    t.currency
from #clients c
LEFT JOIN transaction t ON c.ClientId = t.ClientID
WHERE c.ClientId NOT IN ( c.ClientId from #amount1)
AND c.ClientId NOT IN ( c.ClientId from #amount2)

非常感谢。

更新:我的错误是我错过了SELECT:

 WHERE c.ClientId NOT IN ( SELECT ClientId from #amount1)
 AND c.ClientId NOT IN ( SELECT ClientId from #amount2)

我很抱歉。我很新,我经常有这样的错误,但这次我没有意识到。

感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

它不应该起作用,因为它没有意义。

尝试这样的事情:

WHERE c.ClientId NOT IN ( select [clientid] from #amount1)

[clientid]#amount1

中匹配列的内容

你也必须在第二个NOT IN条款中也这样做。