powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Заполнить новую таблицу с заменой значений
5 сообщений из 5, страница 1 из 1
Заполнить новую таблицу с заменой значений
    #39869170
Stalker16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо из одной таблицы заполнить вторую таблицы, попарными строками. Есть две однотипные таблицы table1, table2. В них столбы name и kolvo. Первая таблица заполнена значениями. Где первый столбец name. В немзначения, Любые символы длиной 6 знаков, но конец обязательно символ ‘1’. Например d1saf1. Второй столбец тоже значения, но не принципиально. Надо перенести все строки из таблички table1 в table2, при этом для каждой строки должна быть создана ещё такая же строка но с именем, которое будет оканчиваться на символ ‘2’. Пример:
name kolvo
a1aaa1 4
b1bbb1 6



name kolvo
a1aaa1 4
a1aaa2 4
b1bbb1 6
b1bbb2 6
Может посоветуете сделать попроще, а то таблицы очень большие ?

Я пробовал так. Сначала все переносил table2 с помощью
inset into table2 (name, kolvo)
Select name, kolvo
From table1.
(Получается появлялась таблица только со значениями оканчивающимися на ‘1’). Затем обновлял все эти значения и заменял их на конец ‘2’.

Update table2
Set name= STUFF (name, 6, 1, ‘2’)

Получается в таблицы появлялись все записи с концом 2. И сново заполнял таблицы значениями с концом ‘1’ из таблицы table1

inset into table2 (name, kolvo)
Select name, kolvo
From table1.
...
Рейтинг: 0 / 0
Заполнить новую таблицу с заменой значений
    #39869179
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker16,

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SELECT a.n
FROM (
	VALUES	('baaaaab1'),
		('xxxx1')
) as a(n) 
UNION ALL 
SELECT SUBSTRING(a.n, 1, LEN(a.n) - 1) + '2'
FROM (
	VALUES	('baaaaab1'),
		('xxxx1')
) as a(n) 
...
Рейтинг: 0 / 0
Заполнить новую таблицу с заменой значений
    #39869192
iiyama
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stalker16,

Код: sql
1.
2.
3.
4.
select 
	STUFF (T.name, 6, 1, CAST(N.n as char(1) )), T.kolvo	
from table1 T
	cross join (select number from master..spt_values NumTable where NumTable.type='P' and NumTable.number between 1 and 2)N(n)
...
Рейтинг: 0 / 0
Заполнить новую таблицу с заменой значений
    #39869200
Stalker16
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, сейчас попробую
...
Рейтинг: 0 / 0
Заполнить новую таблицу с заменой значений
    #39869216
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
SELECT REVERSE(STUFF(REVERSE(T.name),1,1,C.N)) name, T.kolvo FROM table1 T CROSS JOIN(VALUES('1'),('2'))C(N);
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Заполнить новую таблицу с заменой значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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