
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
20.07.2006, 09:54
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE FROM |
|||
|
#18+
Всем привет Возникла небольшая трудность, хотелось бы её решить с вашей помощью Есть запрос Код: plaintext 1. 2. 3. 4. 5. Данный запрос работает, однако если соответствющей записи в таблице T1 (curTax) нет, то по логике T1.all_all должно быть равно нулю и следовательно curTaxWorkPeriod.all_p2 должно присваиваться значение curTaxWorkPeriod.all_all-0, а получается так, что curTaxWorkPeriod.all_p2, в этом случае, всегда равна нулю, вне зависимости от суммы curTaxWorkPeriod.all_all. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 10:24
|
|||
|---|---|---|---|
Помогите с UPDATE FROM |
|||
|
#18+
А если так (не проверял): Код: plaintext 1. 2. 3. 4. 5. P.S. Еще очень важно иметь везде пробел перед ";" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 10:27
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE FROM |
|||
|
#18+
Вы неверно понимаете работу написаного запроса В вашем случае проапдейтятся только те записи для которых соблюдено условие Where, остальные остануться нетронутыми. если хотите получить апдейт по всем записям, используйте left join ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 10:38
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE FROM |
|||
|
#18+
-=AlexiS=- Вы неверно понимаете работу написаного запроса В вашем случае проапдейтятся только те записи для которых соблюдено условие Where, остальные остануться нетронутыми. если хотите получить апдейт по всем записям, используйте left join Правильно я понимаю, я вопос может не в совсем правильной форме составил. Но суть вы все-равно ведь улавили. А на счёт left join объяснить на пальцах для этого примера, а то у меня конец рабочего дня и я не совсем понимаю как в данном случае этот left join приделать 2 Sergey Ch Пробовал пока не дотумкал до причин, указанных -=AlexiS=- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 10:53
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE FROM |
|||
|
#18+
Чуть изменил и получилось чего хотел, но хотелось бы более элегантно и одним запросом, может кто знает как это можно сделать (если можно) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 11:03
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE FROM |
|||
|
#18+
Пардон , сгоряча про left написал, нельзя там лефтов в условиях нужно делать через вложеный запрос примерно так Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 11:05
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE FROM |
|||
|
#18+
во блин скобку в подзапросе забыл Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 11:21
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE FROM |
|||
|
#18+
2-=AlexiS=- с одним вложенным запросом нормально отрабатывает и такой вариант я уже пробывал, а вот, допустим введем еще одни минус где надо будет выполнять подзапрос и Fox пожалуется, что слишком сложно для него ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
20.07.2006, 11:50
|
|||
|---|---|---|---|
|
|||
Помогите с UPDATE FROM |
|||
|
#18+
Ну тогда несколько вариантов -1- *** Получить курсор , в котором будут все необходимые поля для "минусов". Ясно дело что получить этот курсор нужно будет с помощью left jion. И апдейтится уже из него. ну типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. -2- *** Разбить все на 2 апдейта - 1 - такой как указан в твоем первом посте. а второй Код: plaintext 1. 2. -3- *** Пройтись по таблице curTaxWorkPeriod сканом с поиском данных в связаных таблицах по Locate ну и с соответствующим replace/update *** По всякому это лучше чем в таблицу добавлять/удалять Хотя незная точной постановки тяжело что-то советовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/search_topic.php?author=RadiG&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
185ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 671ms |
| total: | 965ms |

| 0 / 0 |
