检查数组的值是不是在 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 语句中的主要内容,如果未能解决你的问题,请参考以下文章
如何在php中检查mysql select语句结果是不是有值?
如何检查存储过程中两个 SELECT 语句的输出是不是相等、大于或小于?