Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размножение данных / 2 сообщений из 2, страница 1 из 1
29.06.2002, 21:33:40
    #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
30.06.2002, 01:13:25
    #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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Размножение данных / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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