powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / INSERT из нескольких запросов
19 сообщений из 19, страница 1 из 1
INSERT из нескольких запросов
    #40103195
Лтвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, подскажите, как можно добавить значения разных полей из разных запросов, нужно что то типа
Код: sql
1.
2.
3.
INSERT table1 (id, vol1, vol2, vol3) values ('1', 'test',
(select [volume2] from table2 where =...),
(select [volume3] from table3 where = ...))


Тут ошибка выскакивает, я так понял что несколько запросов не позволяет использовать, нужно какое то условие...
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103205
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уберите values
Скомбинируйте результаты запросов на вставку в один через union all
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103211
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103229
Лтвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 первых поля заполняются не из запроса а на прямую значением, как в этом случае быть?
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103234
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лтвин
2 первых поля заполняются не из запроса а на прямую значением, как в этом случае быть?
код по ссылке посмотри, б@# !
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103237
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court
Лтвин
2 первых поля заполняются не из запроса а на прямую значением, как в этом случае быть?
код по ссылке посмотри, б@# !


Подставлял разные буквы в предложенное слово "б@# !" - не получается insert
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103238
Лтвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и смотрел и пробовал,
Код: sql
1.
2.
3.
4.
INSERT table1 (id, vol1, vol2, vol3)
select id = '1', vol1 = 'test' [volume2] as vol2 from table2 where =...
union all
select [volume3] as vol3 from table3 where = ...



"Все запросы, объединенные с помощью операторов UNION, INTERSECT или EXCEPT, должны иметь одинаковое число выражений в целевых списках", я в первые сталкиваюсь с такой необходимостью потому подскажите по подробнее как быть
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103241
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лтвин
и смотрел и пробовал,
Код: sql
1.
2.
3.
4.
INSERT table1 (id, vol1, vol2, vol3)
select id = '1', vol1 = 'test' [volume2] as vol2 from table2 where =...
union all
select [volume3] as vol3 from table3 where = ...



"Все запросы, объединенные с помощью операторов UNION, INTERSECT или EXCEPT, должны иметь одинаковое число выражений в целевых списках", я в первые сталкиваюсь с такой необходимостью потому подскажите по подробнее как быть


Какая-то недосказанность в вашем месыдже. такое впечатление, что вы стесняетесь или вас, возможно, держат в заложниках!
Должны, так что? подайте нам знак
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103242
Лтвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин
Лтвин
и смотрел и пробовал,
Код: sql
1.
2.
3.
4.
INSERT table1 (id, vol1, vol2, vol3)
select id = '1', vol1 = 'test' [volume2] as vol2 from table2 where =...
union all
select [volume3] as vol3 from table3 where = ...



"Все запросы, объединенные с помощью операторов UNION, INTERSECT или EXCEPT, должны иметь одинаковое число выражений в целевых списках", я в первые сталкиваюсь с такой необходимостью потому подскажите по подробнее как быть


Какая-то недосказанность в вашем месыдже. такое впечатление, что вы стесняетесь или вас, возможно, держат в заложниках!
Должны, так что? подайте нам знак


какая недосказанность, что досказать чтобы я смог получить внятный и адекватный ответ?
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103244
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лтвин
Ролг Хупин
пропущено...


Какая-то недосказанность в вашем месыдже. такое впечатление, что вы стесняетесь или вас, возможно, держат в заложниках!
Должны, так что? подайте нам знак


какая недосказанность, что досказать чтобы я смог получить внятный и адекватный ПОНЯТНЫЙ мне ответ?


"Все запросы, объединенные с помощью операторов UNION, INTERSECT или EXCEPT, должны иметь одинаковое число выражений в целевых списках" - это так, так и делайте, как написали. Что не получается?
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103245
Лтвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин
Лтвин
пропущено...


какая недосказанность, что досказать чтобы я смог получить внятный и адекватный ПОНЯТНЫЙ мне ответ?


"Все запросы, объединенные с помощью операторов UNION, INTERSECT или EXCEPT, должны иметь одинаковое число выражений в целевых списках" - это так, так и делайте, как написали. Что не получается?


в таблице около 50 полей, первые 2 заполняются определенными значениями а остальные различными запросами. Как это совместить, то есть прямое присвоение значения полям и результатов запроса
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103246
Лтвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и еще, первое поле имеет значение int а второе varchar, это те которые заполняются напрямую.
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103250
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лтвин
в таблице около 50 полей, первые 2 заполняются определенными значениями а остальные различными запросами. Как это совместить, то есть прямое присвоение значения полям и результатов запроса
Наконец то, сформулировали то, что вам нужно :-)

1. Если вам надо вставить одну строку, набрав поля из разных запросов, то дtлайте эти запросы как подзапросы в cross join:
Код: sql
1.
2.
3.
4.
5.
INSERT table1 (id, vol1, vol2, vol3)
select v1.id, v1.vol1, v2.vol2, v3.vol3
from (select id = '1', vol1 = 'test') as v1
cross join (select [volume2] as vol2 from table3 where = ...) as v2
cross join (select [volume3] as vol3 from table3 where = ...) as v3


2. Если вам надо вставить произвольное к-во строк, то меняете cross join на left join , и добавляете условие связывания этих подзапросов
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103252
Лтвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

Спасибо Вам огромное за помощь, буду пробовать
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103253
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лтвин
и еще, первое поле имеет значение int а второе varchar, это те которые заполняются напрямую.


Вы ссылку читали, которую дали выше?


Код: sql
1.
2.
3.
4.
5.
6.
INSERT table1 (id, vol1, vol2, vol3)
select 1, 'test','test3' from table2 where =...
union all
select 2, 'test2blyad','test23blyad' from table3 where = ...
union all
select 3, 'test31blyad','test32blyad' from table334 where = ...




Как у вас со знанием SQL , T-SQL ?
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103254
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лтвин
в таблице около 50 полей, первые 2 заполняются определенными значениями а остальные различными запросами.
Делается примерно так
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
insert into TargetTable
 (column1, column2, column3, column4, ... columnN)
 select
  'constant1', constant2, t1.some_column1, t2.some_column2, ... tN.some_columnN
 from
  (select some_column1, row_number() over (...) as rn from Table1 where ...) t1 join
  (select some_column2, row_number() over (...) as rn from Table2 where ...) t2 on t2.rn = t1.rn join
  ...
  (select some_columnN, row_number() over (...) as rn from Table1 where ...) tN on tN.rn = t1.rn;
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103258
Лтвин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все, разобрался, всем огромное спасибо
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40103966
RubinDm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
court, а че, и так можно?! будем знать.. :]
...
Рейтинг: 0 / 0
INSERT из нескольких запросов
    #40104037
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лтвин
Все, разобрался, всем огромное спасибо


ну, и всегда "код по ссылке посмотри, б@# !"
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / INSERT из нескольких запросов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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