|
Выполнение запроса запущенного разными способами
|
|||
---|---|---|---|
#18+
Доброго времени суток. Имеем запрос на добавление с имитацией СУММУСЛИ: Код: vbnet 1. 2. 3.
Или можно по другому: Вариант 2: (в этом запросе «-» [минус] перед SUM обязателен. Код: vbnet 1. 2.
Вариант 1 на локальной БД на 10000 зап. Выполняется быстрее !!! Убрал из запросов условие WHERE и еще кое-что правил, так что приведенный запрос может быть не совсем корректен. Реально запрос рабочий. Запускаем разными способами оба варианта: Код: vbnet 1. 2. 3.
Все три способа все поля кромке вычисляемых по условию формируются корректно, а три поля вычисляемых по условию = 0. Меняем подход: Код: vbnet 1. 2. 3.
Имеем то что хотели. все поля сформированы и сформированы корректно. А что не нравится аксесу (vba) в первоначальных 3-х вариантах? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 08:58 |
|
Выполнение запроса запущенного разными способами
|
|||
---|---|---|---|
#18+
А отформатировать - не? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Вот это - как? Далее - условие переместите из HAVING во WHERE, зачем заставлять запрос делать лишнюю работу? Алиасы в секции SELECT - лишние. Всё равно они игнорируются. Часть полей имеет алиасы таблицы, часть нет - почему? Изменится ли поведение, если всем полям проставить алиасы? например Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2017, 09:18 |
|
|
start [/forum/topic.php?fid=45&fpage=79&tid=1612554]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 127ms |
0 / 0 |