你可以在子查詢中使用ROW_NUMBER
,這樣的事情。
樣本數據;
CREATE TABLE #Table1 (Brand nvarchar(10), Serial_No nvarchar(2))
INSERT INTO #Table1 (Brand, Serial_No)
VALUES
('toyota','x1')
,('toyota','x2')
,('toyota','x3')
CREATE TABLE #Table2 (Brand nvarchar(10), Serial_No nvarchar(2), Rank_No int)
INSERT INTO #Table2 (Brand, Serial_No, Rank_No)
VALUES
('toyota','c4',1)
,('toyota','c5',2)
,('toyota','c6',3)
查詢
SELECT
t1.Brand
,t1.Serial_No
,t2.Serial_No
FROM
(SELECT
ROW_NUMBER() OVER (ORDER BY Serial_No) Row_Num
,Brand
,Serial_No
FROM #Table1
) t1
LEFT JOIN #Table2 t2
ON t1.Row_Num = t2.Rank_No
輸出
Brand Serial_No Serial_No
toyota x1 c4
toyota x2 c5
toyota x3 c6
總是表中的相同的行數? – jarlh
否我的實際數據集中將有不同數量的行。我不需要它到第二個表的列表末尾,只需要每個值都有一個值,但不會重複 – user2772056
將一行或兩行添加到其中一個表中,然後調整結果。 – jarlh