У меня есть следующий пример запроса (MySQL):
SELECT * FROM `action`
WHERE `customer_id` IN
(SELECT `id` FROM `customer` WHERE `status`=1)
ORDER BY
action.date ASC
LIMIT 0, 10
Мне нужно иметь возможность ЗАКАЗАТЬ ПО поле customer.status.Можно ли выполнить это с помощью объединения?
status
- это поле в таблице customer
.
Отредактированный запрос:
SELECT * FROM `action`
ORDER BY
action.date ASC
LIMIT 0, 10
ВАЖНО!
Я анализирую возвращаемые данные через PHP.После выполнения исправленного запроса:
SELECT * FROM `action` a INNER JOIN `customer` c ON a.customer_id = c.id ORDER BY a.form_id ASC LIMIT 0, 10
Мой код PHP ломается ...
Этот пост помог мне.
Мойпересмотренный запрос выглядит следующим образом:
SELECT
*, a.id AS lead_id, c.id AS customer_id
FROM
`action` a
INNER JOIN
`customer` c ON a.customer_id = c.id
ORDER BY c.status DESC
Спасибо всем!
ОБНОВЛЕНИЕ
Поскольку у меня есть некоторые записи клиентов без записи действия, INNER JOIN не былвозвращать все соответствующие записи.Теперь я использую JOIN, и все результаты возвращаются, как и ожидалось.