powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Экспорт из таблицы sql в текстовый файл.
11 сообщений из 36, страница 2 из 2
Экспорт из таблицы sql в текстовый файл.
    #39630087
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка, или можно как-нибудь результаты этого запроса загнать во временную таблицу, а из нее выбрать без столбца с номерами?
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39630455
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка, Подскажите пожалуйста, я все сделал, все получилось, но выводится не вся таблица. вывод количества строк зависит от нулей в values, можно ли как то выводить всю таблицу не прописывая сотни нулей в values? помогите пожалуйста
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39630485
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11,

таблица с номерами там для наглядности, её можно убрать
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
;
with
t1 as
	(
	select
		p1, p2, p3, rn + (rn - 1)  as n
	from
		(
		select
			p1, p2, p3,
			row_number()over(order by (select 1)) as rn
		from
			@p p
		)q
	),
t2 as
	(
	select
		p4 as p1, p5 as p2, null as p3, rn + rn  as n
	from
		(
		select
			p4, p5,
			row_number()over(order by (select 1)) as rn
		from
			@p p
		)q
	)
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39630492
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка,

то есть конечный запрос будет выглядеть:
declare @p table (p1 char(2), p2 char(2), p3 char(2), p4 char(2), p5 char(2))
*наполняю таблицу @p нужными мне данными*
;

with
t1 as
(
select
p1, p2, p3, rn + (rn - 1) as n
from
(
select
p1, p2, p3,
row_number()over(order by (select 1)) as rn
from
@p p
)q
),
t2 as
(
select
p4 as p1, p5 as p2, null as p3, rn + rn as n
from
(
select
p4, p5,
row_number()over(order by (select 1)) as rn
from
@p p
)q
)

select
p1, p2, p3, n
from
t1
union all
select
p1, p2, p3, n
from
t2
order by
n
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39630493
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на всякий случай,
вот это
Код: sql
1.
over(order by (select 1))

не гарантирует, что строки вашей исходной таблицы будут пронумерованы одинаково для "первой части полей" и для "второй части".
если у вас в вашей исходной таблице есть адекватный атрибут для сортировки используйте его
Код: sql
1.
over(order by <ваш атрибут>)

либо если вы предварительно выгружаете данные во временную таблицу используйте автоинкрементное поле для получения порядкового номера строки.
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39630494
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlegEgorov11то есть конечный запрос будет выглядетьда, с учётом комментария выше
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39630499
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка, например у меня первое поле название организаций, если я сделаю сортировку по нему во временной таблице #p, то в конечном запросе будет по алфавиту и будет сначала первая строка с 4мя столбцами, потом 5 столбец во второй строке и т.д.. Не получится, что сначала будут все как бы первые строки с 1-4 столбец, после чего все 5е столбцы?
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39630500
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlegEgorov11, хотя, если по алфавиту сортировать для названий, как раз так и получится, последний столбец не пронумерован же
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39631080
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка, все работает как надо, но когда я пытаюсь добавить результат запроса в другую временную таблицу, чтобы из нее выбрать уже без номера, то начинается что-то непонятное, так номер идет по порядку, но где то с 246 начиная, после него вставляется 277, потом опять по порядку 247, 248 и т.д., а где был 277 там просто 275,276, 278, 279 и т.д. по всей таблице. В чем может быть проблема?
declare @v table (v1 char(2), v2 char(2), v3 char(2), v4 char(2) )
declare @p table (p1 char(2), p2 char(2), p3 char(2), p4 char(2), p5 char(2))
*наполняю таблицу @p нужными мне данными*
;

with
t1 as
(
select
p1, p2, p3, rn + (rn - 1) as n
from
(
select
p1, p2, p3,
row_number()over(order by (select 1)) as rn
from
@p p
)q
),
t2 as
(
select
p4 as p1, p5 as p2, null as p3, rn + rn as n
from
(
select
p4, p5,
row_number()over(order by (select 1)) as rn
from
@p p
)q
)
insert into @v
select
p1, p2, p3, n
from
t1
union all
select
p1, p2, p3, n
from
t2
order by n ;
select v1, v2, v3 from @v
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39631165
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тут: 21341033
вам предложили более "элегантное" решение, используйте лучше его. :)
...
Рейтинг: 0 / 0
Экспорт из таблицы sql в текстовый файл.
    #39631173
OlegEgorov11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка, результат одинаковый
...
Рейтинг: 0 / 0
11 сообщений из 36, страница 2 из 2
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Экспорт из таблицы sql в текстовый файл.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]