powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Построчное умножение столбцов внутри WHERE
4 сообщений из 4, страница 1 из 1
Построчное умножение столбцов внутри WHERE
    #39693491
Fullstack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть фильтр цен (на постройку домов) по такому коду внутри WHERE:

Код: plaintext
TVprice.value >= 500 AND TVprice.value <= 1000
(цена: от 500 тыс. руб. до 1000 тыс. руб.)

Отлично работало, когда прописывалась полная цена за дом. Но сейчас прописывается цена за квадратный метр, и поэтому фильтр сломался. Чтобы он заработал, надо сделать выборку тех домов, у которых произведение цены на площадь (цена * площадь) будет от 500 до 1000 тыс. руб.

Я попробовал такой WHERE:

Код: plaintext
(TVprice.value * TVsquare.value) >= 500 AND (TVprice.value * TVsquare.value) <= 1000

, но фильтр не работает как и прежде. Помогите, что делать? Как прописать WHERE?
...
Рейтинг: 0 / 0
Построчное умножение столбцов внутри WHERE
    #39693508
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В приведенном выражении WHERE ничего криминального, должно работать. Возможно, таблица TVsquare неправильно связана с TVprice. Есть такая связь?

Другой момент, после замены значения поля в левой части выражения на формулу индекс использовать невозможно и запрос будет работать медленно.
...
Рейтинг: 0 / 0
Построчное умножение столбцов внутри WHERE
    #39693512
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поскольку таблица цен скорее всего компактная, разумнее получить в подзапросе диапазон площадей для каждой цены, и использовать эти данные в основном запросе. Хотя бы на одной, причём более пухлой, таблице, будет работать индекс...
...
Рейтинг: 0 / 0
Построчное умножение столбцов внутри WHERE
    #39694633
Fullstack
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, в чем дело! До перехода на цены за квадратный метр они указывались в тысячах (например просто 236, без нулей на конце), поэтому диапазон в запросе был от 500 до 1000. А сейчас цены указываются без тысяч. То есть надо к 500 и 1000 дописать на конце 000 :)

Так что вот оно как, нашел косяк! Как надо:

Код: plaintext
(TVprice.value * TVsquare.value) >= 500000 AND (TVprice.value * TVsquare.value) <= 1000000
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Построчное умножение столбцов внутри WHERE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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