powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Заполнение таблицы с помощью sql запроса
12 сообщений из 12, страница 1 из 1
Заполнение таблицы с помощью sql запроса
    #39954149
l_anddrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, как мне написать запрос, чтобы с помощью таблицы 1, заполнилась таблица 2. Т.е. значения столбца y в таблице 2, должны быть равны значению y в таблице 1. 7,15,26,33 чтобы именно эти значения были в таблице 2.

Примерный вид запроса такой, только не могу разобраться , как написать условие...
Insert into Table_2 (y) (Select x From Table_1 where x

...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39954153
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
l_anddrey
как написать условие...
where x in (2,8,13,20)
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39954154
l_anddrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg, Я это понимаю, но если таблица 1 равно 1000 значений и таблица 2 500 значений, то в ручную не получится так сделать...
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39954155
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
l_anddrey
alexeyvg, Я это понимаю, но если таблица 1 равно 1000 значений и таблица 2 500 значений, то в ручную не получится так сделать...
Так сформулируйте алгоритм, что вам нужно?

Я это не могу понять, может, кто то ещё сможет...
l_anddrey
значения столбца y в таблице 2, должны быть равны значению y в таблице 1. 7,15,26,33 чтобы именно эти значения были в таблице 2.
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39954157
l_anddrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg, Есть таблица 1 (Она полная) и есть таблица 2 (в ней только некоторые значения x, которые есть в таблице 1). Таблица 1 полностью заполнена ( столбцы X и Y ), в таблице 2 только значения X . Нужно, чтобы значения Y , были перенесены из таблицы в таблицу 2. Только перенесены те, которые есть по Х
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39954159
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
update a set
  a.y = b.y
from Table2 a
inner join Table1 b on a.x = b.x
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39954160
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
UPDATE T
 SET T.Y=RR.Y
  FROM TABLE2 AS T
 JOIN TABLE1 AS RR ON T.X=RR.X
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39954163
l_anddrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич, londinium,

Спасибо большое!
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39969024
Colt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич
Код: sql
1.
2.
3.
4.
update a set
  a.y = b.y
from Table2 a
inner join Table1 b on a.x = b.x



А почему не так:
Код: sql
1.
2.
3.
4.
update Table2
set Table2.y=t.y
from Table1 t
where Table2.x=t.x



Полный вариант теста
Код: 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.
create table Table1(x int, y int)
create table Table2(x int, y int)

insert into Table1 values(2, 7)
insert into Table1 values(5, 10)
insert into Table1 values(7, 8)
insert into Table1 values(8, 15)
insert into Table1 values(10, 19)
insert into Table1 values(13, 26)
insert into Table1 values(15, 31)
insert into Table1 values(20, 33)

insert into Table2 values(2, null)
insert into Table2 values(8, null)
insert into Table2 values(13, null)
insert into Table2 values(20, null)

select * from Table2

update Table2
set Table2.y=t.y
from Table1 t
where Table2.x=t.x

select * from Table2

drop table Table1
drop table Table2

...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39969093
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Colt
А почему не так
А вам когда сдачу дают в магазине, вы продавцу тоже кучу вариантов по номиналу купюр накидываете со словами "а почему не так, ведь тоже сходится"?
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39969097
Colt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей Алексеевич,
Нет, не по этому.
Просто я не считаю себя великим спецом в SQL, потому меня насторожило, что тот вариант, который обычно использую я, не совпал с ответом, который дали вы (и почти слово-в-слово следующий автор).
Вот я и решил уточнить у профессионалов, может я что-то не так делаю?
Может есть какие-нибудь противопоказания (например, мой вариант не будет работать в других СУБД)?
...
Рейтинг: 0 / 0
Заполнение таблицы с помощью sql запроса
    #39969102
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Colt
Может есть какие-нибудь противопоказания ( например, мой вариант не будет работать в других СУБД )?
скорее, наоборот (в PG, например, твой отработает, а update join-а - нет)

update/delete join-а это "фишка" MS SQL, причём очень удобная
Всегда можно update/delete изменить на select (не меняя ничего другого в запросе) и посмотреть что ж там будет обновляться/удаляться
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Заполнение таблицы с помощью sql запроса
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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