首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

条件查询解决办法

2012-01-13 
条件查询SELECTCOUNT(DISTINCTAcctId)FROMT_AccountWHEREExpireDate GETDATE()ANDAcctIdLIKE((SELECTAcct

条件查询
SELECT   COUNT(DISTINCT   AcctId)   FROM   T_Account   WHERE   ExpireDate <GETDATE()   AND   AcctId   LIKE   ((SELECT     AcctPrefix   FROM   T_Distributor   WHERE   DistributorId=@DistributorId)+ '% ')
OR   AcctId   LIKE   ((SELECT     AcctPrefix   FROM   T_Distributor   WHERE   DistributorFlag=@DistributorId)+ '% ')

子查询返回的值多于一个。当子查询跟随在   =、!=、 <、 <=、> 、> =   之后,或子查询用作表达式时,这种情况是不允许的。

[解决办法]
try

SELECT COUNT(DISTINCT AcctId) FROM T_Account WHERE ExpireDate <GETDATE()
AND AcctId LIKE ((SELECT TOP 1 AcctPrefix FROM T_Distributor WHERE DistributorId=@DistributorId)+ '% ')
OR AcctId LIKE ((SELECT TOP 1 AcctPrefix FROM T_Distributor WHERE DistributorFlag=@DistributorId)+ '% ')

热点排行
Bad Request.