Php MYSQL WHERE子句不适用于生成的字段
大家好,由于某种原因,WHERE rating=1子句在这种情况下不起作用。我认为这可能与外部sql语句是在内部语句被执行之前为as rating generated字段构造的有关,因为它可以很好地处理其他字段Php MYSQL WHERE子句不适用于生成的字段,php,mysql,where-clause,Php,Mysql,Where Clause,大家好,由于某种原因,WHERE rating=1子句在这种情况下不起作用。我认为这可能与外部sql语句是在内部语句被执行之前为as rating generated字段构造的有关,因为它可以很好地处理其他字段 SELECT property.id as propertyid, property.main_image as mainimageid, property.number as number, property.address as address
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
任何帮助都将不胜感激:)
十进制(3,2)
?如果内部选择返回1.5,那么是的,你的where
将根本不匹配。切换你的where让我现在看到问题了。谢谢Marc,有没有办法关注外部查询字段的结果?还是我只能使用内部查询值?您应该使用rating>1