どうですか、
フィドルが動作するようになりました
WITH snapshot(n, name, img1, img2) AS
(
SELECT TOP 5
ROW_NUMBER() OVER(ORDER BY Name) n,
name,
img1,
img2
FROM yourtable
WHERE name = 'Stack'
ORDER BY Name
)
SELECT
row1.Name,
row1.Img1,
row1.Img2,
row2.Img1 Img3,
row2.Img2 Img4,
row3.Img1 Img5,
row3.Img2 Img6,
row4.Img1 Img7,
row4.Img2 Img8,
row5.Img1 Img9,
row5.Img2 Img10
FROM snapshot row1
LEFT JOIN snapshot row2 ON row2.n = 2
LEFT JOIN snapshot row3 ON row3.n = 3
LEFT JOIN snapshot row4 ON row4.n = 4
LEFT JOIN snapshot row5 ON row5.n = 5
WHERE row1.n = 1
これは、CTE を定義することで機能します。
SELECT TOP 5
ROW_NUMBER() OVER(ORDER BY Name) n,
name,
img1,
img2
FROM yourtable
WHERE name = 'Stack'
ORDER BY Name
その結果は
N NAME IMG1 IMG2
1 Stack lemon.jpg (null)
2 Stack (null) orange.jpg
3 Stack plum.jpg (null)
4 Stack grape.jpg aubergine.jpg
次に、最初の行を選択し、必要な後続の各ペアに対して左自己結合を行います。