powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размножение данных
2 сообщений из 2, страница 1 из 1
Размножение данных
    #32034404
Gramer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CREATE TABLE Table1 (PGroup INT NOT NULL)
CREATE TABLE Table2 (Folder INT NOT NULL, PG INT)

INSERT INTO Table1 (PGroup) Values (10)
INSERT INTO Table1 (PGroup) Values (20)
...
(добавляем N1 записей)

INSERT INTO Table2 (Folder) Values (1)
INSERT INTO Table2 (Folder) Values (2)
...
и так далее(N2 записей с разными полями Folder)

Как теперь из Table1 скопировать записи для каждого поля Folder(то есть чтобы в Table2 было N1*N2 записей) одним запросом?
...
Рейтинг: 0 / 0
Размножение данных
    #32034410
Denis.R.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
begin tran

update table2
set pg=t.pgroup
from(
select t2.folder,t1.pgroup
from table1 t1 cross join table2 t2
where not exists(select * from table2 tt where tt.pg=t1.pgroup and tt.folder=t2.folder)
) as t

insert into table2(folder,pg)
select t2.folder,t1.pgroup
from table1 t1 cross join table2 t2
where not exists(select * from table2 tt where tt.pg=t1.pgroup and tt.folder=t2.folder)

if @@error<> 0 
	rollback tran
else
	commit tran
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размножение данных
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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