Привет, ребята, по какой-то причине предложение WHERE rating = 1 не работает в этом случае. Я думаю, что это может быть связано с тем, что внешний SQL-оператор создается до того, как внутренний оператор выполняется для поля, сгенерированного как оценка, так как он отлично работает с другими полями.
SELECT
property.id as propertyid,
property.main_image as mainimageid,
property.number as number,
property.address as address,
property.number as number,
property.area as area,
image.id as imageid,
CAST((SELECT sum(review.rating) / COUNT(*) / 20 as innerrating
FROM
review
WHERE
review.propertyid = property.id) AS decimal(3,2)) as rating
FROM
property
LEFT JOIN
propertyimage ON propertyimage.propertyid = property.id
LEFT JOIN
image on image.id = propertyimage.imageid
LEFT JOIN
review on review.propertyid = property.id
WHERE
rating = 1
GROUP BY propertyid
любая помощь будет принята с благодарностью 🙂
Задача ещё не решена.
Других решений пока нет …