Введение.
При получении заказа на склад, звоним клиенту, сообщаем, мол поступил, забирайте.
Надо вывести данные, по каким из полученных заказов надо звонить.
Т.е. где еще вообще не звонили (дата звонка NULL) и где с момента последнего звонка прошло N времени, а клиента все не приходит.
Есть, соответственно, 2 связных таблицы: orders (заказы) с кучкой полей и orders_klcall (звонки) с полями id, parent_id, klcall_date, info. Связь по полям orders=parent_id
Есть запрос:
PHP:
скопировать код в буфер обмена
$sql = mysql_query ("SELECT * FROM orders LEFT JOIN orders_klcall ON orders.orders_id=orders_klcall.parent_id WHERE orders.orders_status='Получено' AND orders.orders_price<>'' ORDER BY orders.orders_id DESC, orders_klcall.id DESC");
По нему формируется таблица, типа:
-------------------------------- -------------
№ заказа | Статус | Дата звонка
-------------------------------- -------------
Заказ 1 | Получено | NULL
Заказ 2 | Получено | 06.01.14
Заказ 2 | Получено | 04.01.14
Заказ 3 | Получено | 06.01.14
Все хорошо, но "Заказ 2" выводится 2 раза, т.к. звонили 04 и 06 числа. Если в запросе добавить "GROUP BY orders_klcall.parent_id ORDER BY ... ", то "Заказ 2" остается с датой 04.01.14, т.к. там id меньше. А надо, чтобы было по последней дате (по бОльшему id).
Чего-то никак не пойму, как сделать, помогайте...
|