Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
 Аватар для drvolodko
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 758
RAD XE3+

Снова Update не выходит

02.07.2018, 09:40. Показов 1552. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня, господа. Задачка вот такая:
есть две таблицы:
1. Div - подразделения (структура id, N_DIV (номер подразделения, в том числе и подчиненного), HeadNum (номер головного подразделения NUll, если подразделение головное))
2. Staff - список человечков (структура Id, N_Div (номер подразделения), ID_DIV)
Staff.Id_Div=Null, так как таблица загружается извне.
Можно ли одним запросом сделать update таблицы Staff и выставить Staff.ID_Div= id головного подразделения из таблицы DIV (HeadNum is null)? Бьюсь, но пока что не получается сделать запрос.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.07.2018, 09:40
Ответы с готовыми решениями:

Снова вложенный Select не выходит
И снова здравствуйте. Имеются 2 таблички Divisions - список подразделений и Staff - персонал. Не могу никак организовать правильную...

Update не выходит
Здравствуйте уважаемые форумчане! Помогите пожалуйста . Запрос из кода php на обновление записи в таблице базы данных не получается,...

Не выходит использовать функцию UPDATE
Всем здравствуйте, вот часть кода, которая как вы видете, выводит инфу из бд. Все работает как часы за одним исключением. Вот код: ...

23
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,686
Записей в блоге: 21
15.01.2019, 10:58
Студворк — интернет-сервис помощи студентам
брр
что это за выражение вообще?
копирование должно выглядеть как то очень примерно так
SQL
1
2
3
4
INSERT INTO YOUR_TABLE (a,b,c,d,e,HISTORY) 
SELECT t.a,t.b,t.c,t.d,t.e, TRUE -- <==== 
FROM YOUR_TABLE T
WHERE t.ID=:OLD_ID)
и у новой записи должен быть новый ID
потом просто у старой ставим HISTORY=FALSE
SQL
1
UPDATE YOUR_TABLE SET history=FALSE WHERE id=:OLD_ID
что еще требуется?

Добавлено через 5 минут
только я вроде перепутал TRUE и FALSE но общий смысл ясен
0
 Аватар для drvolodko
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 758
15.01.2019, 11:08  [ТС]
krapotkin, с копированием все нормально происходит. Запись дублируется и у старой статус history меняется на true. И дальше работа программы идет уже с новой записью (кроме отчетов за прошлые периоды). Id естественно новый. Разобрался я с запросом. Добавил условие и заработало.
SQL
1
2
3
4
5
UPDATE PProgress SET PProgress.IDDIV=(SELECT COALESCE(d2.id,d1.id) 
            FROM DIV d1 LEFT JOIN DIV d2 ON (d2.history='false' AND d2.NDIV=d1.HEADNUM ) 
            WHERE d1.NDiv=PProgress.NDIV AND d1.history='false') 
            WHERE PProgress.iddiv IS NULL
            AND PProgress.idfil=2
0
 Аватар для krapotkin
6854 / 4680 / 1465
Регистрация: 14.04.2014
Сообщений: 20,686
Записей в блоге: 21
15.01.2019, 11:12
а зачем столько джойнов-то с условиями?
заранее неизвестно какую запись копировать надо??
0
 Аватар для drvolodko
224 / 68 / 33
Регистрация: 23.05.2014
Сообщений: 758
15.01.2019, 11:58  [ТС]
Это запрос на обновление записей в другой таблице уже после копирования и внесения изменений. Поле PProgress.IDDIV ссылается на таблицу Div.ID, в которой и происходят изменения. Поэтому после внесения изменений надо заменить PProgress.IDDIV на новый Div.ID. И в PProgress мне заранее неизвестно кого на что менять.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2019, 11:58

Зацикливание действий: программа выходит в главное меню и снова заходит в выбранный метод записи.
Всем привет! Ребят, подскажите мне, что я написал не так в программе. При запуске программы Я выбираю первое действие (Запись в файл...

Снова хром, снова сапопроизвольно открывается, снова bkrfdf.xyz и казино
Здравствуйте! Собственно, проблема уже не новая, хотя, как показывают сообщения форума, за последние дни выскочившая у многих. Через...

Как сделать чтобы таймер дойдя до 0 стартовал снова и снова?
Здравствуйте :) Как сделать чтобы таймер дойдя до 0 стартовал снова и снова? TimerSec = 59; TimerMin = 6; for(int i = TimerSec;...

HP 625 снова и снова перезагружается в безопасный не заходит
Ребята помогите , проблема вот какая врубаю я ноут он доходит до заставки майкрософта и снова перезагружается в безопасный не заходит, ...

DataGrid update ПРОБЛЕМА: Key column information is insufficient or incorect. Too many rows were affected by update
Привет всем ! В Вижуал Басик6 на форме имею ДатаГрид с информацией из Аксцессс 2000. Соединение - АДО. Пропертями усе установленно...


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru