我有一個關鍵字表,我想使2個字的組合,而保持在連續的順序(即我不希望每2個字的組合,只是當他們是之前或之後另一個)。SQL Combine 2行一次
我可以使這個工作與WHILE
循環,但查詢是龐大的,不是最佳的,因爲我需要在一個更大的查詢中使用此。我的查詢如下:
IF OBJECT_ID('tempdb..#Temp') IS NOT NULL
DROP TABLE #Temp
CREATE TABLE #Temp
(
RowNum INT
,Keyword VARCHAR(50)
)
INSERT #Temp
VALUES
(1, 'Apple'),
(2, 'Flavored'),
(3, 'Ice'),
(4, 'Tea')
IF OBJECT_ID('tempdb..#Final') IS NOT NULL
DROP TABLE #Final
CREATE TABLE #Final
(
Combined VARCHAR(101)
)
DECLARE @i INT
DECLARE @kw1 VARCHAR(50)
DECLARE @kw2 VARCHAR(50)
SET @i = 2
WHILE EXISTS (SELECT * FROM #Temp WHERE RowNum = @i)
BEGIN
SET @kw1 = (SELECT Keyword FROM #Temp WHERE RowNum = @i - 1)
SET @kw2 = (SELECT Keyword FROM #Temp WHERE RowNum = @i)
INSERT #Final
SELECT @kw1 + ' ' + @kw2
SET @i = @i + 1
END
SELECT * FROM #Final
有沒有人知道更聰明/更有效的方式,我可以做到這一點?
你使用哪種DBMS? – NEER
SQL Server Management Studio 2014 –