|
Одно и то же вычисляемое поле в выборке и в where?
|
|||
---|---|---|---|
#18+
Добрый день. В запросе одно из полей выборки формируется из поля таблицы с использованием нескольких строчных функций. Что то типа: Код: sql 1.
Есть необходимость фильтровать выборку по значению этого поля `period`. В WHERE, естественно, его не вставишь. Можно в HAVING его использовать, тем более что группировка производится по этому полю. Но записей много и получается не очень эффективный по времени запрос. Особенно если нужно выбрать только один период. Пока есть мысль просто тупо скопировать код формирования этого поля в WHERE что бы там и фильтровать. Можно как то обойтись только одним местом использования этого кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2022, 19:56 |
|
Одно и то же вычисляемое поле в выборке и в where?
|
|||
---|---|---|---|
#18+
OlegROA Пока есть мысль просто тупо скопировать код формирования этого поля в WHERE что бы там и фильтровать. Правильная мысль. Тем более что выражение достаточно простое. Одно смущает - странный формат даты, малопригодный для хоть чего-то, кроме отбора по списку. OlegROA Можно как то обойтись только одним местом использования этого кода? Да не заморачивайся. Или, если это выражение везде в хвост и гриву, есть вычисляемые поля. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2022, 23:12 |
|
Одно и то же вычисляемое поле в выборке и в where?
|
|||
---|---|---|---|
#18+
OlegROA, **** и получается не очень эффективный по сути - делать выборку-группировку по дате, как части из строки "постановление №555 от 21.12.1900" - это более чем неразумно, тем более ожидать "эффективности". хотя да, можно поместить выражение в WHERE, можно в HAVING чтобы было эффективно - добавить поле period, куда на этапе заполнения данных записывать "период" для дальнейших манипуляций. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2022, 23:18 |
|
|
start [/forum/topic.php?fid=47&msg=40133787&tid=1827782]: |
0ms |
get settings: |
7ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
36ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
92ms |
get tp. blocked users: |
0ms |
others: | 406ms |
total: | 552ms |
0 / 0 |