我想知道是否可以编写这样的查询:
PHP变量做比较: $ column2 = A; $ column3 = null;
gizmos = gizmos.Where(x => x.ColorTags.Contains(filterColors));
总体思路是将对象数组与MySQL表中定义的动态过滤器进行匹配。但我只想比较不为空的列。
有人可以帮助或指导我采取更好的方法吗? 谢谢
答案 0 :(得分:1)
我认为这可能是对的
SELECT * FROM table1
WHERE col1 = 1
AND
IFNULL(col2, $column2)=$column2
AND
IFNULL(col3, $column3)=$column3;
但是我会用php代码创建where子句以动态创建SQL语句
答案 1 :(得分:0)
尝试是否有帮助
SELECT * FROM table1
WHERE col1 = 1
AND col2 = IIF(col2 IS NOT NULL,$column2,col2)
AND col3 = IIF(col3 IS NOT NULL,$column3,col3)