У меня очень сложный (для меня) mysql-запрос, который я пытаюсь написать - я так очень близка, кроме одной маленькой части. Здесь сделка - у меня есть таблица транзакций и таблица растений, и я пытаюсь собрать "таблицу лидеров", которая будет табулировать все транзакции и затраты и рассчитать общие доходы и прибыль. Здесь соответствующие поля (измененные имена, чтобы упростить здесь):
ТАБЛИЦА транзакций:
username | user_city | total_sale | qty_sold
============================================
ТАБЛИЦЫ:
plant_city | plant_base_cost
Итак, я смог рассчитать все, что мне нужно знать о продаже, с довольно хорошим размером запроса, что приводит к этому (две строки строк):
username |price | user_city | plant_city | base_cost | qty | cost | profit
=======================================================================================
AndyHabs | 1140 | 1 | 1 | 65 | 6 | 390 | 750
AndyHabs | 1000 | 1 | 5 | 100 | 5 | 500 | 500
Довольно просто, не так ли? Мне просто нужно суммировать соответствующие поля и группировать их по имени пользователя - за исключением этой проблемы! Если user_city DIFFERENT, чем plant_city, мне нужно умножить базовую стоимость на 1.6... У меня нет ИДЕИ, как включить это условие в мой запрос - было довольно просто выполнить базовый вычисление по полю, но есть ли способ включить такое условие в мое утверждение?
У меня нет проблем по своей сути, просто делая это в PHP script, но если эта таблица будет намного больше, это займет очень много времени, и мне бы хотелось использовать некоторые великолепные сценарии разбивки на страницы, которые сделают его приятным просто получить данные, которые мне нужны прямо из MySQL.
Спасибо заранее!
Используйте выражение CASE в расчете.