我想构建一个查询,我检查从sql select返回的行数。例如,我要检查,如果从查询返回的行数是大于3,然后做点别的什么都不做使用sql的结果select in if
if @@rowcount(select clientId from Clients group by clientId) > 3
PRINT 'WARNING'
任何想法表示赞赏
我想构建一个查询,我检查从sql select返回的行数。例如,我要检查,如果从查询返回的行数是大于3,然后做点别的什么都不做使用sql的结果select in if
if @@rowcount(select clientId from Clients group by clientId) > 3
PRINT 'WARNING'
任何想法表示赞赏
希望这有助于
将帖子
DECLARE @Cnt AS INT
select @Cnt = COUNT(clientId) from Clients group by clientId
if @Cnt > 3
PRINT 'WARNING'
这将返回数据,无论是1个客户端还是100,000个客户端。不确定是否需要。 –
我将@@ ROWCOUNT改为变量。我的逻辑都应该工作。这将显示警告,如果客户端数量仅大于3。 – teenboy
尝试:
case
when (select count(*) from table where condition) > 3 Then
else
end
希望这有助于...
DECLARE @Count INT = (SELECT COUNT(DISTINCT ClientId) FROM Clients);
IF @Count > 3
PRINT 'WARNING';
你们是不是要做到这一切,在查询内部或者您使用的T-SQL? – AJC
在查询中可以设置存储过程 – vbNewbie
那么,在存储过程中,您可以使用T-SQL。如在**中选择[at] count = count(*)从表中where条件**,然后使用SP中任意位置的[at]值进行计数。如果在查询中,您必须按照我在答案中所述的方式进行操作。您可以将** case **放入** select **或**其中** – AJC