检查数组的值是不是在 select 语句中

Posted

技术标签:

【中文标题】检查数组的值是不是在 select 语句中【英文标题】:checking if values of an array are in select statement检查数组的值是否在 select 语句中 【发布时间】:2015-04-17 22:09:33 【问题描述】:

我有以下查询,它会检查我的表中是否存在数组中未找到 AccountNumber 的行:

--Select the total number of domestic keypad customers who left in march
select New_FirstName,New_LastName,New_AccountNumber,New_KeyPadPremiseNo ,New_DateCustomerLeft, c.Line1,c.Line2,c.Line3,c.City,c.PostOfficeBox from AccountExtensionBase as a
inner join CustomerAddressBase as c on a.AccountId = c.ParentId
where New_DateCustomerLeft between '1 feb 2015' and '1 mar 2015'
and AddressTypeCode = 1
and New_AccountType = 5
and New_AccountNumber not in (123,456,789,101112,131415)

如何检查我的数组是否包含在数据库中找不到的数字,例如:

select from ((123,456,789,101112,131415)
where not in (select from table)

【问题讨论】:

我不清楚你想要什么,你的第一个查询有什么问题? 数组中的值是来自电子表格源的帐号,我想检查表中但不在数组中的帐号(这工作正常)但我现在想检查数组中而不是表中的帐号,如果这样可以更清楚地了解我要完成的工作 【参考方案1】:

您可以使用 SQL,除非您将第一个列表放入临时表(如果需要,Excel 公式可以方便地快速创建一堆插入语句):

Select number from TempTable
except
Select number  from table

Select * from TempTable
where number not in (select number from table)

【讨论】:

以上是关于检查数组的值是不是在 select 语句中的主要内容,如果未能解决你的问题,请参考以下文章

如何在显示列之前检查 SELECT 语句是不是存在

如何在php中检查mysql select语句结果是不是有值?

如何检查存储过程中两个 SELECT 语句的输出是不是相等、大于或小于?

如何在javascript中执行if语句来检查JSON数组是不是为空?

在 plpgsql 函数中访问 select 语句结果

Select Case 语句 - IF 语句 - 定义数组 - VBA