如何使用类继承表获取自定义字段的结果计数?

时间:2014-03-02 03:54:20

标签: php mysql sql e-commerce custom-fields

我目前正在为构建学习目的而构建一个基本的店面应用程序。

我的MySQL数据库“items”和“field_values”中有两个表,它们具有1对多的关系。还有一个字段表和一个字段集表,但这些表与查询无关。集合可以包含许多字段,而项目包含一组或多组字段。

产品

id,name

字段值

set_id,item_id,field_1,field_2,field_3等..

我构建了一个动态查询,允许最终用户根据这些字段的值过滤掉结果,因此当过滤2个字段时,我有一个类似的查询(伪)

SELECT * FROM items LEFT JOIN field_values WHERE field_1=2 and field_2=7

我的问题是我如何展开它以显示其余选项的计数?换句话说,上面的查询为我提供了一个结果集,但是我还希望获得每个field_3,field_4等值的计数,以便用户事先知道他们将获得多少结果,因此我无法提供任何选项将返回0结果。

我希望这是有道理的。

提前致谢

安迪

1 个答案:

答案 0 :(得分:0)

您将像现在一样构建where子句。然后执行聚合查询而不是获取列:

SELECT field_1, field_2, field_3, count(*)
FROM items LEFT JOIN
     field_values
WHERE field_1 = 2 and field_2 = 7
GROUP BY field_1, field_2, field_3;

这将给出其他值的所有组合。