有没有办法用所有参数进行通用查询并返回结果?而不是对每个参数组合进行查询。
示例:颜色,高度,宽度。在单个查询中按颜色,高度,宽度,颜色和宽度,颜色和高度选择....
答案 0 :(得分:1)
如果没有关于数据类型的任何细节,我会假设它们是字符串或某种枚举值。像这样的参数化查询可能适合您:
SELECT *
FROM `table`
WHERE `color` LIKE :color
AND `height` LIKE :height
AND `width` LIKE :width;
然后你会为结果绑定不同的组合:
选择所有蓝色的东西
:color = "blue"
:height = "%"
:width = "%"
选择所有高大的东西
:color = "%"
:height = "tall"
:width = "%"
选择所有高大的蓝色东西
:color = "blue"
:height = "tall"
:width = "%%"
等等。 %
子句中的LIKE
值表示LIKE any number of characters
。