Я использую подзапрос для доступа к псевдониму в предложении where. Это работает отлично, пока я выбираю только «MIN (r.price)». Когда я выбираю «*, ...», он возвращает ошибку «... duplicate column id ...». Почему это? Сам подзапрос работает отлично.Почему этот SQL-запрос возвращает ошибку?
Здесь:
SELECT *
FROM
(
SELECT *, MIN(r.price) as min_price
FROM tl_frp_presentation as p
INNER JOIN tl_frp_object as o
ON p.objectID = o.id
INNER JOIN tl_tag as c
ON c.id = o.id
AND c.from_table = "tl_frp_object"
LEFT JOIN tl_frp_rooms as r
ON r.pid = o.id
WHERE p.type = "tl_frp_object"
GROUP BY p.id
) as inner_t
WHERE min_price >= 100
Любая помощь приветствуется!
СПАСИБО! Ваш второй код потрясающий .. еще не знал ключевое слово HAVING. – Yami
@Yami Вместо использования 'SELECT *' только извлекать определенные строки, передавая имя столбца в SELECT-части запроса –
Я этого не делал, потому что мне действительно нужны все столбцы в текущем случае. Но спасибо за вклад. – Yami