我想構建一個查詢,我檢查從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