Ответ уже отмечен. Но я размещаю его здесь для другого пользователя.
DECLARE @mytable table
(
mycolumn varchar(10)
)
INSERT INTO @mytable
SELECT '| 1 |' UNION ALL
-----
SELECT '| 3 |' UNION ALL
-----
SELECT '| 7 |' UNION ALL
-----
SELECT '| . |' UNION ALL
-----
SELECT '| . |' UNION ALL
-----
SELECT '| . |' UNION ALL
-----
SELECT '| n |'
SELECT * FROM @mytable
SELECT
t1.mycolumn, t2.mycolumn
FROM
(
SELECT
ROW_NUMBER() OVER (ORDER BY mycolumn) as rownum, mycolumn
from @mytable
) t1
INNER JOIN
(
SELECT
ROW_NUMBER() OVER (ORDER BY mycolumn)as rownum, mycolumn
from @mytable
) t2
on(t1.rownum = t2.rownum+1)
WHERE t2.rownum > 0
Этот запрос предназначен для сервера sql.
Посмотрите на следующую часть, которая в основном имеют логику
SELECT
t1.mycolumn, t2.mycolumn
FROM
(
SELECT
ROW_NUMBER() OVER (ORDER BY mycolumn) as rownum, mycolumn
from @mytable
) t1
INNER JOIN
(
SELECT
ROW_NUMBER() OVER (ORDER BY mycolumn)as rownum, mycolumn
from @mytable
) t2
on(t1.rownum = t2.rownum+1)
WHERE t2.rownum > 0
Вы действительно хотите ** ** получить данные, как это, или просто показать его, как это? Какое преимущество извлекает данные в виде двух сращиваемых столбцов, кроме замедления запроса? – BenM
yes Я хочу получить данные, подобные этому. – vovaminiof
OK. Зачем нужно это делать? – BenM