0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 13

Написание запроса на изменение данных

31.10.2011, 01:25. Показов 4030. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем. Помогите написать запрос на изменение данных в 4 таблицах. есть номер документа который повторяется в этих 4 таблицах по полю N12. в поле D22 первой таблицы T1 находится дата на которую надо поменять значения находящиеся в полях четырех таблиц. В таблице T1 надо изменить поля D17 D18 D19 в таблице Т2 поля D2_1 и D2_4, в таблице Т3 поле D12 в таблице Т4 поле D45. Как привести значения всех этих полей таблиц к данным Т1 поля D22?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.10.2011, 01:25
Ответы с готовыми решениями:

Изменение данных в таблице после запроса
Здравствуете, проблема такая Есть таблица name и gender (F или M) каждому из имён полагается подарок в зависимости от пола, если M то...

Изменение свойств источника данных запроса в Excell
Доброе время суток! Возникла проблеммка! Может кто-нить знает как сделать сабж при выгрузке данных из БД. Конкретнее: в Excell'е...

Изменение данных в GridView при изменении строки запроса в SqlDataSource
Доброго времени суток Возникла проблема с GridView и SqlDataSource: когда привязываю GridView к конкретному запросу, всё работает...

13
 Аватар для Celly
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
31.10.2011, 16:15
Для таблицы T1:
T-SQL
1
update t1 set t1.d17 = (select d22 from t1 as t11 where t11.n12 = t1.n12), t1.d18 = (select d22 from t1 as t11 where t11.n12 = t1.n12), t1.d19 = (select d22 from t1 as t11 where t11.n12 = t1.n12)
Для таблицы T2:
T-SQL
1
update t2 set d2_1 = (select t1.d22 from t1 where t1.n12 = t2.n12), d2_4 = (select t1.d22 from t1 where t1.n12 = t2.n12)
По анологии для таблиц T3 и T4!
1
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 13
31.10.2011, 18:57  [ТС]
А если поля в таблице T1 D17 D18 D19, таблице Т3 поле D12, таблице Т4 поле D45 имеют формат дата и время а значение на которое меняем их имеет формат дата. Возможно ли оставить значение времени в поле?
0
 Аватар для Celly
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
31.10.2011, 19:30
T-SQL
1
2
3
4
5
6
update t1 set t1.d17 = 
dateadd(millisecond, datepart(ms,datetimeCol),
dateadd(second,datepart(ss,datetimeCol),
dateadd(minute,datepart(mm,datetimeCol),
dateadd(hour,datepart(hh,datetimeCol),
Cast((SELECT d22 FROM t1 AS t11 WHERE t11.n12 = t1.n12)as datetime)))))
И так вот для каждой колонки в которой делаете update!

Немножко не прикинул сразу... Можна ещё проще!
T-SQL
1
update t1 set t1.d17 = Cast(t1.d17 as time) + Cast((SELECT d22 FROM t1 AS t11 WHERE t11.n12 = t1.n12)as datetime)
1
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 13
01.11.2011, 00:29  [ТС]
а что за поле t11.n12 может имелось в виду t1.n12
0
 Аватар для Celly
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
01.11.2011, 00:55
Не не, t11 это псевдоним для t1! Грубо говоря мы связуем 2 экземпляра одной и той же таблицы t1!
t1 получается нам даёт ключ по текущей строке и мы его используем в подзапросе где у нас та же t1 только с псевдонимом t11!!!
0
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 13
02.11.2011, 00:59  [ТС]
Написал скрипт следующим образом:
T-SQL
1
2
3
4
5
6
7
UPDATE T1 SET T1.d17 = T1.D22 from T1 WHERE T1.N12 = 123 and T1.N12 = 123;
UPDATE T1 SET T1.d18 = T1.D22 from T1 WHERE T1.N12 = 123 and T1.N12 = 123;
UPDATE T1 SET T1.d19 = T1.D22 from T1 WHERE T1.N12 = 123 and T1.N12 = 123;
UPDATE T2 SET T2.d2_1 = T1.D22 from T2, T1 WHERE T2.N12 = 123 and T1.N12 = 123;
UPDATE T2 SET T2.d2_4 = T1.D22 from T2, T1 WHERE T2.N12 = 123 and T1.N12 = 123;
UPDATE T3 SET T3.d12 = T1.D22 from T3, T1 WHERE T3.N12 = 123 and T1.N12 = 123;
UPDATE T4 SET T4.d45 = T1.D22 from T4, T1 WHERE T4.N12 = 123 and T1.N12 = 123;
все значения поменялись на значение в поле D22, как доработать данный скрипт чтобы таблице T1 поля D17 D18 D19, таблице Т3 поле D12, таблице Т4 поле D45 сохранили формат дата и время не смотря на то, что значение на которое меняем их имеет формат дата.
0
 Аватар для Celly
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
02.11.2011, 01:11
Вот вам пример!
T-SQL
1
UPDATE T1 SET T1.d17 = CAST(T1.D17 AS TIME) + CAST(T1.D22 AS DATETIME) FROM T1 WHERE T1.N12 = 123 AND T1.N12 = 123;
1
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 13
02.11.2011, 11:57  [ТС]
А если придтся менять даты в обратном порядку из поля с форматом дата время перенести в поле дата, как должен выглядеть скрипт?
0
 Аватар для Celly
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
02.11.2011, 11:58
Тогда никаких операций конвертирования, время усечётся автоматически!
1
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 13
03.11.2011, 00:02  [ТС]
А если у примеру в одной таблице есть к примеру 3 щзаписи с одним рег номером документа но даты у каждой записи разные возможно ли скриптом откоректировать конкретную дату?

к примеру в таблице 84 есть запись d поле N14 = 569 дата в поле d86 = 28.09.2011 17:46:00 так же N14 = 569 в поле d86 = 30.09.2011 12:35:00 и поле d86 = 14.10.2011 15:20:00 вот 2 запись надо поменять на 10.10.2011 время можно оставить тоже. Возможно ли написать такой скрипт?
0
 Аватар для Celly
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
03.11.2011, 00:28
Если вам единично нужно обновить запись, то вот в таком формате :
T-SQL
1
2
update table_name set d86 = '20111231 12:00:04'
where d86 = '20110930 12:35:00' and n14 = 569
1
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 13
08.11.2011, 22:32  [ТС]
А если надо изменить значение поле таблицы Т5 поле N54 значение 2458 надо изменить на значение равное нулю.
0
0 / 0 / 0
Регистрация: 29.10.2011
Сообщений: 13
10.12.2011, 20:40  [ТС]
Как должна выглядеть команда если требуестся поменять значения в разных таблицах имеющих только одно одинаковое значение это рег номер записи а поменять требуется значения дат при том имеющих раформаты дата и дата и время.к примеру таблица Т7 имеет поля n14 содержащий рег номер записи к примеру 458 и поля d23 имеет формат дата и время (23.11.2011 15.12) d48 дата (23.11.2011) d61 дата и время (23.11.2011 15.12) и таблица T14 имеет поля n8 это рег номер (458) и d2 дата (23.11.2011) d6 дата (23.11.2011) d23 дата и время (23.11.2011 15.12). все эти значения надо изменить на 21.11.2011 при этом данные в поле дата время значение времени должно остаться прежним.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.12.2011, 20:40
Помогаю со студенческими работами здесь

Написание запроса SQL
Всем доброго времени суток. Прошу помочь в написании запроса. Нужно, чтобы в зависимости от id_arendator выводилась инфа об арендаторе,...

Написание SQL запроса
Задача 1. Написать запрос SQL, создающий таблицу «Мобильные телефоны» (MobPhones), содержащую следующие поля: – Номер модели (ModelID)...

Написание sql-запроса
Добрый день. Как правильно писать в запросе имя столбца если он написан так "Дата рождения" писать так: @() либо иначе, Ваши...

Написание запроса к нескольким таблицам
Еще раз здравствуйте! Необходимо написать запрос который возвращает мне ФИО заказчика,Дату приема и дату сдачи заказа, Предоставленные...

SQL.Add написание запроса
Добрый день уважаемые, подскажите пожалуйста... Имеется такой запрос: SQL.Add('SELECT * FROM Mebel4er ORDER BY '); Как его можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru