我试图在这样的NOT IN where子句中使用表变量@notified ....
DECLARE @notified TABLE (DMT_ID INT)
INSERT INTO @notified
SELECT [DMT_ID]
FROM [dbo].[PU_Transaction]
WHERE [PU_TransactionStatus] = 3
SELECT * from @notified
SELECT [NRO_TRANSACCION]
FROM [dbo].[TRANSACCION]
WHERE [NRO_TRANSACCION] NOT in (@notified)
但是我在最后的SELECT
中收到了这个错误必须声明标量变量“@notified”。
有什么问题?怎么能解决这个问题。
答案 0 :(得分:1)
你需要使用它:
SELECT [NRO_TRANSACCION]
FROM [dbo].[TRANSACCION]
WHERE [NRO_TRANSACCION] NOT IN (SELECT DMT_ID FROM @notified)
您需要在SELECT
子句中添加NOT IN
语句 - 而不仅仅是表变量名...
答案 1 :(得分:0)
从y中选择x,其中x不在(从z中选择x)
你应该有两个选择使用not in。