特定产品的SQL查询动态过滤器

时间:2019-06-12 18:58:12

标签: mysql

似乎我的问题很奇怪,但是当我解释时,我认为您可以帮助我解决问题。 我在数据库中有这些表和一些虚拟数据: 产品表:

 --------------------------------------------
| product_id | title      | manufacturer_id |
|    1       | iphone X   | Apple           |
|    2       | galaxy s10 | Samsung         |
|    3       | galaxy A   | Samsung         |
--------------------------------------------

filter_group表:

---------------------------------
| filter_group_id | title         |
|    1            | Ram           |
|    2            | Cpu           |
|    3            | cellphone sime|
---------------------------------

filter_item表:

-----------------------------------------------
|  filter_id  |  filter_group_id |   title    |
|      1      |        1         |     2GB    |
|      2      |        1         |     4GB    |
|      3      |        1         |     8GB    |
|      4      |        1         |     1GB    |
|      5      |        2         |     Corei7 |
|      6      |        2         |     Corei5 |
|      7      |        3         |     1-cell |
|      8      |        3         |     2-cell |
-----------------------------------------------

product_filter表:

---------------------------
| product_id  | filter_id |
|    1        |     2     |
|    1        |     8     |
|    2        |     2     |
|    2        |     8     |
|    2        |     6     |
|    3        |     2     |
---------------------------

所以现在我想创建一个高级搜索表单,以筛选器筛选产品。 我将显示所有过滤器组和过滤器以供用户选择,并且我希望过滤器产品具有发布到服务器的filter_data 本例应如何编写SQL查询 请注意,所有filter_group和filter都是动态的,可以添加或删除

例如,如果用户选择这些过滤器[4GB,2单元格]:我想显示产品1和2,而不是产品3 我怎么写这个查询

我想使用filter_group(1,3)过滤数据并使用filter(2)过滤数据 其MySQL数据库

0 个答案:

没有答案