sql—如何从临时表中读取多个值并将其赋给变量

xfyts7mz  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(350)

在我的select语句中有以下变量@memberid,其中memberid=@memberid,我想分配@notin temp表中的所有结果。有什么意见吗?

  1. Create Table #NotIN(
  2. MemberId int);
  3. insert Into #NotIN
  4. select MemberId
  5. from Member
  6. where CLIENtID = 19800 AND MemberID NOT IN (
  7. SELECT Distinct MemberID
  8. FROM [OnDemand].[dbo].[DealerVaultSale]
  9. where ClientID = 19800
  10. Union
  11. SELECT Distinct MemberID
  12. FROM [OnDemand].[dbo].[DealerVaultService]
  13. where ClientID = 19800 )
  14. Select * from #NotIN;
  15. SELECT [CustomerNumber]
  16. ,[ClientID]
  17. ,[MemberID]
  18. ,[LastImportDateTime]
  19. FROM [DealerVaultCustomerMemberMap] WHERE MemberID = @MemberID

我能做这个吗

  1. declare @MemberID int
  2. set @MemberID = (Select * from #NotIN)
rm5edbpk

rm5edbpk1#

可以通过将sql与主表连接起来来实现这一点。

  1. SELECT [CustomerNumber]
  2. ,[ClientID]
  3. ,[MemberID]
  4. ,[LastImportDateTime]
  5. FROM [DealerVaultCustomerMemberMap] a JOIN
  6. (select MemberId
  7. from Member
  8. where CLIENtID = 19800 AND MemberID NOT IN (
  9. SELECT Distinct MemberID
  10. FROM [OnDemand].[dbo].[DealerVaultSale]
  11. where ClientID = 19800
  12. Union
  13. SELECT Distinct MemberID
  14. FROM [OnDemand].[dbo].[DealerVaultService]
  15. where ClientID = 19800 )) b ON a.member_id = b.member_id;

相关问题