Задавайте вопросы, мы ответим
Вы не зашли.
Страниц: 1
На сайте имеются проекты домов - таблица projects,
имеются параметры этих проектов в другой таблице - таблица projectparams
Имеется таблица для связи двух предыдущих со значениями - таблица projects_projectparams
Выборка всех возможных комбинаций осуществляется следующим запросом:
Отредактированно gzhegow (22.10.2015 03:33:56)
Неактивен
группировка по `t0`.`id`
where t1.id in (площадь, кв метр)
цена = (case ..) площадь * (case .. ) цена кв метра
Неактивен
Понял, а перемножение тут делается?
Ну например если цена это площадь умножить на цену метра умножить на 4 разных коэффициента?
Или тут уже оборачивать в еще один Селект?
И насколько я понимаю, это нужно делать как раз на уровне MYSQL, поскольку через PHP потом невозможно будет отфильтровать записи достаточно быстро?
Отредактированно gzhegow (22.10.2015 12:08:56)
Неактивен
не очень понял, приведите пример в несколько строк в виде
create table ..
insert into ..
и какой результат вы хотите получить
Неактивен
На текущий момент запрос благодаря вам вот такой:
Результат его вот такой:
Хочу получить вот что:
- площадь в каждой строке (дублировать значение)
- добавлю цену метра
- цена общая получается не из параметра, а считается как произведение площади на цену метра для каждого проекта, а после расчета дублируется в каждую строку
- коэффициенты определяются исходя из нескольких параметров, каждый из которых в своей строке, как мы видим, например, двухэтажные дома дороже одноэтажных, а двухэтажные с мансардой, дешевле двухэтажных без нее.
- и позже прикручу сюда еще таблицу скидок, где в зависимости от параметра может динамически присутствовать коэффициент поправки цены
И вот что не понимаю:
Нужно ли для этого делать SELECT в SELECT в SELECT, или дешевле по ресурсам будет выгрузить результат первого запроса в PHP, рассчитать все цены, а потом фильтровать обычным циклом через PHP опять же.
Отредактированно gzhegow (22.10.2015 12:59:00)
Неактивен
Не я не так предлагал
select в select это очень плохая мысль с т.з. производительности.
проще результат вашего первого запроса выгрузить в php и там рассчитывать цены по вашей логике
Неактивен
Спасибо!
А то я начал делать селект в селект в селект и... смотрю уже под 5 секунд запрос идет.
Неактивен
Страниц: 1