我試圖讓這個循環自動化,我定義了一個開始和結束時間段@t_begin,@ t_end例如從0開始到24。 目前,我將所有這些代碼一個接一個,例如結束t = 60,我需要複製並粘貼60個子查詢。如何結合SQL中的子查詢中的循環?
下面的事情是tMONTHS = 0,1,2,......我不想把它們全部複製到t = 24例如。
SELECT
(
SELECT COUNT(CODE) FROM #TEMP
WHERE (tMONTHS = 0) AND (KANALKODU = @channel) AND (tSTATUS = 2) AND (TARIH < @datelimit)
) as T,
(
SELECT COUNT(CODE) FROM #TEMP
WHERE (tMONTHS = 1) AND (KANALKODU = @channel) AND (tSTATUS = 2) AND (TARIH < @datelimit)
) as t1,
(
SELECT COUNT(CODE) FROM #TEMP
WHERE (tMONTHS = 2) AND (KANALKODU = @channel) AND (tSTATUS = 2) AND (TARIH < @datelimit)
) as t2,
(
SELECT COUNT(CODE) FROM #TEMP
WHERE (tMONTHS = 3) AND (KANALKODU = @channel) AND (tSTATUS = 2) AND (TARIH < @datelimit)
) as t3;
GO
寫作快訊全部大寫不會讓你幫忙更快。事實上,它可能會延遲幫助。 –
您只需編寫一個查詢,將您的數據放入24行,然後使用'PIVOT'運算符將它們轉換爲列。您仍然需要列出列,但重複代碼少得多。大約有10億個關於堆棧溢出的示例以及官方文檔等。 –
下面是查詢的一個簡短示例,將它放入行中。剛樞轉它:'SELECT COUNT(CODE) FROM #TEMP WHERE(tMONTHS = 0) AND(KANALKODU = @channel) AND(tSTATUS IN(0,2,3,4)) AND(TARIH <@ datelimit)' –