我使用实体-属性-值数据库模型。
我的产品有很多 attribute_varchars 并且 attribute_varchars 有一个属性。一个属性有多个attribute_varchars,一个属性varchar 有一个产品。相同的逻辑适用于attribute_decimals 和attribute_texts。
无论如何,我有以下查询,我想使用 where 子句过滤结果
SELECT
products.id,
(select value from attribute_texts where product_id = products.id and attribute_id = 1)
as description,
(select value from attribute_varchars where product_id = products.id and attribute_id = 2)
as model,
(select value from attribute_decimals where product_id = products.id and attribute_id = 9)
as rate,
(select value from attribute_varchars where product_id = products.id and attribute_id = 20)
as batch
FROM products
WHERE products.status_id <> 5
我想添加一个位置rate > 5
我试过但我收到以下错误:Unknown column 'rate' in 'where clause'
。我尝试为值和值表添加别名,但似乎没有任何效果。