久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

while循環中的Tsql聯合

Tsql union in while loop(while循環中的Tsql聯合)
本文介紹了while循環中的Tsql聯合的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我試圖在更改 where 子句中的某些值時將同一個表與其自身聯合在一起.我的問題是循環之間的聯合.我不能使用表變量,因為架構太復雜,無法每次都手動編寫.臨時表似乎是要走的路,但我不知道如何讓它工作和正確的語法.

I am trying to union the same table together with itself while changing some value in the where clause. The problem i have is with the union between the loops. I can not use a table variable since the schema is too complicated to write by hand each time. Temp tables seem to be the way to go but I do not know how to get it to work and the correct syntax.

我想要實現的偽代碼:

DECLARE @var int, #tempTable
SET @var = someValue

WHILE expressionIncludingVar
  #tempTable = SELECT *
  FROM someTable
  WHERE column = @var
  UNION ALL #tempTable

  SET @var = someChangeToVar

RETRUN #tempTable

查詢的結果應該是 #tempTable 因此奇怪的RETURN #tempTable".

The result of the query should be #tempTable hence the weird "RETURN #tempTable".

提前致謝.

另一個硬編碼示例:我正在嘗試對這樣的東西進行硬編碼:

Another hardcoded example: I am trying to unhardcode something like this:

 SELECT someAggregateColumns
 FROM table
 WHERE someDateColumn > @date and < someDateColumn < DATEADD(month, 2, @date)
 GROUP BY someColumn
 UNION ALL
 SELECT someAggregateColumns
 FROM table
 WHERE someDateColumn > DATEADD(month, 1, @date) and and < someDateColumn < DATEADD(month, 1, DATEADD(month, 3, @date))
 GROUP BY someColumn
 SELECT someAggregateColumns
 FROM table
 WHERE someDateColumn = DATEADD(month, 2, @date) DATEADD(month, 1, DATEADD(month, 4, @date))
 GROUP BY someColumn
 UNION ALL 
 ....etc

推薦答案

也許遞歸 CTE 適合您.

Maybe Recursive CTE works for you.

你可以試試這個.

DECLARE @MyTable TABLE(ID INT, ColumnA VARCHAR(10), ColumnB VARCHAR(10))
INSERT INTO @MyTable VALUES
(1,'A', '10'), 
(2,'B', '11'),
(3,'C', '12'),
(4,'D', '13'),
(5,'E', '14'),
(6,'F', '15'),
(7,'H', '16')

DECLARE @var INT = 4

;WITH CTE AS (
    SELECT * FROM @MyTable WHERE ID = @var
    UNION ALL 
    SELECT T.* FROM CTE INNER JOIN @MyTable T ON CTE.ID - 1 = T.ID 
)
SELECT * INTO #tempTable FROM CTE

SELECT * FROM #tempTable

DROP TABLE #tempTable

這篇關于while循環中的Tsql聯合的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 性色网站 | 国产福利在线 | 精品欧美一区二区在线观看欧美熟 | 亚洲一区久久 | 日本精品视频在线 | 亚洲啊v | 日韩在线视频网址 | 国产日韩欧美在线 | 久久高清国产视频 | 久久久久久中文字幕 | 天天人人精品 | 狠狠干狠狠操 | 99精品欧美一区二区三区 | av大片| 精品一区二区三区免费毛片 | 欧美精品二区三区 | 成人精品一区二区三区中文字幕 | 国产欧美精品一区二区三区 | 久久伊人久久 | 久久久www成人免费精品 | 亚洲热在线视频 | 九色 在线 | 欧美综合一区二区三区 | 日韩一区二区免费视频 | 夜夜骑首页 | 99精品国产成人一区二区 | 超碰最新在线 | 操网站 | 国产综合久久久久久鬼色 | 午夜视频一区二区三区 | 久久中文字幕一区 | 国产成人在线视频 | 亚洲在线一区 | 中文在线视频 | 一区二区三区免费观看 | 成人二区 | 亚洲精品久久久久久久久久久 | 久久亚洲二区 | 国产精品久久久久久久久久久久久 | 国产精品国产精品国产专区不片 | 99亚洲精品 |