powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / UPDATE вставляет данные
11 сообщений из 11, страница 1 из 1
UPDATE вставляет данные
    #35452909
Черепаха_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!

Раньше этим занимался, сейчас не могу вспомнить,

Access:
запрос:
Код: plaintext
1.
UPDATE T1 LEFT JOIN Sk ON T1.ID = Sk.ID 
SET Sk.pos = T1.pos, Sk.user_code = T1.code, Sk.name = T1.сname "
по моему замыслу, должны обновится те записи, которые существуют в Sk где T1.ID = Sk.ID.
Они обновляются, но происходит то, что в Sk в еще добавляются и те которых нет в Sk и присутствуют в Т1.
Почему?
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #35452912
Фотография Cheerful Calf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем тогда лефт джойн?
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #35453006
Черепаха_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А, если не будет LEFT JOIN как поймет запрос какой Sk.pos = какому T1.pos, Sk.user_code = какому T1.code и Sk.name = какому T1.сname
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #35453121
Karfaqen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Черепаха_А, если не будет LEFT JOIN как поймет запрос...Полагаю, наводящий вопрос был не столько про JOIN, сколько про LEFT: Cheerful Calfа зачем тогда лефт джойн?
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #35453130
Черепаха_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cheerful Calf, Karfaqen Спасибо!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
UPDATE вставляет данные
    #39112255
K-Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток.
Приклеился к похожей теме, чтобы не плодить сущности.

Вопрос следующий: Имеется запрос следующего вида:

Код: sql
1.
2.
3.
UPDATE T1
LEFT JOIN T2 ON T1.F1=T2.F1
SET T1.F2=T2.F2


В Т2 несколько записей удовлетворяющих условию T1.F1=T1.F1, но с разными значениями Т2.F2
Какое из этих значений пропишется в T1.F2 ?
Мне, даже, не столь важно, какое значение пропишется, сколько нужно, чтобы всегда прописывалось одно и то же.

Заранее премного благодарен за ответ.
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #39112276
K-Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Опечатка. Нужно читать:

В Т2 несколько записей удовлетворяющих условию T1.F1=T2.F1, но с разными значениями Т2.F2
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #39112336
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K-Nickнужно, чтобы всегда прописывалось одно и то же.
Для числового T1.F1
Код: sql
1.
2.
UPDATE T1 
SET T1.F2=Dmin("F2", "T2", "F1=" & T1.F1)


Для текстового
Код: sql
1.
2.
UPDATE T1 
SET T1.F2=Dmin("F2", "T2", "F1='" & T1.F1 & "'")
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #39112658
K-Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,

Огромное спасибо! Такое решение мне в голову не пришло.
Подскажите, с точки зрения быстродействия какой вариант будет лучше: с Dmin, или что-нибудь вроде такого:

Код: sql
1.
2.
3.
UPDATE T1
LEFT JOIN (SELECT F1, MIN(F2) AS F3 FROM T2 GROUP BY F1) AS T3 ON T1.F1=T3.F1
SET T1.F2=T2.F3


Размер Т2 не больше 10 тыс записей.
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #39112719
Фотография mds_world
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K-Nick, если вы попробуете свой вариант, то увидите компилятор запросов в действии. Он сообщит неприятную весть, типа "в операции должен использоваться обновляемый запрос". Поэтому и был применен Dmin.
...
Рейтинг: 0 / 0
UPDATE вставляет данные
    #39112848
K-Nick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mds_world,

Да... Действительно... Печально...
Еще раз спасибо.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / UPDATE вставляет данные
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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