Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Не получается правильно написать запрос вида update что-то set = select from select
|
|||
|---|---|---|---|
|
#18+
Добрый день! Пытаюсь написать запрос для работы с БД CRM suiteCRM Упрощенно есть три таблицы: accounts [id, assigned_user_id] - контрагенты , assigned_iser_id - кто из пользователей ответственный по контрагенту accounts_contcats [accounts_id,contacts_id] - таблица связи accounts <-> contacts contacts [id,assigned_user_id] - кто из пользователей ответственный за контакт Мне надо написать запрос который сделает так, чтобы assigned_user_id для всех записей из таблицы contacts стал равным assigned_user_id из таблицы accounts Я написал следующее: Код: sql 1. 2. 3. 4. 5. 6. 7. Если я делаю симмуляцию запроса в phpmyadmin, судя по количеству обработаных записей, запрос отрабатывает правильно. Однако, когда я выполняю запрос, по факту он обрабатывает больше строк, чем я ожидал и делает примерно следующее: Для тех contacts где assigned_user_id не был равен соответствующему из таблицы accounts он проставляет assigned_user_id из таблицы accounts, как я и хотел, но если assigned_user_id в обеих таблицах был одинаковым, в таблице contacts он его затирает, делает пустым. Может ли кто-нибудь подсказать, в чем моя ошибка и почему симуляция запроса работает отлично от живого выполнения. Заранее огромное спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 20:51 |
|
||
|
Не получается правильно написать запрос вида update что-то set = select from select
|
|||
|---|---|---|---|
|
#18+
Немного посимпатичнее напишу запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 21:00 |
|
||
|
Не получается правильно написать запрос вида update что-то set = select from select
|
|||
|---|---|---|---|
|
#18+
https://dev.mysql.com/doc/refman/5.7/en/update.html Multiple-table syntax: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 21:02 |
|
||
|
Не получается правильно написать запрос вида update что-то set = select from select
|
|||
|---|---|---|---|
|
#18+
И никаких коррелированных подзапросов быть не должно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 21:03 |
|
||
|
Не получается правильно написать запрос вида update что-то set = select from select
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ! У меня получилось Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.03.2018, 22:17 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39615668&tid=1829983]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 140ms |

| 0 / 0 |
