我试图限制基于另一个表列的查询结果的数量。例如,我有一个产品表和一个配置表,如下所示:
tb_product
id | active | name | value | ...
tb_config
max_product | ...
我想做的是这样的事情
SELECT
a.name, a.value
FROM
tb_product a,
tb_config b
WHERE a.active = 1
LIMIT b.max_product
但我遇到了类似 #1327 - 未声明的变量:b
的错误。有没有办法达到这个结果?
因为目前我正在做的是执行另一个查询来获取 max_product 值,然后将其用作 php 变量来限制结果,如下所示:
$limit = "SELECT max_product FROM tb_config";
SELECT name, value FROM tb_product WHERE ativo = 1 LIMIT $limit
最佳答案
也许......
SELECT a.name
, a.value
FROM tb_product a
CROSS JOIN (SELECT @Limit:=(SELECT max_product from tb_config))
WHERE a.active = 1
LIMIT @Limit
关于php - Mysql 根据列中的值限制结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49797879/