【发布时间】:2017-10-26 19:37:58
【问题描述】:
我不确定这样做的正确方法是什么。
如果某个过滤器的值未定义,我基本上想返回所有值。
使用以下过滤器发出获取请求:
url.com?filter1=abc&filter2=123&filter4=33
所以filter3没有定义我想返回所有值,不管它们的filter3值是什么。逻辑简单吧。
但是如果我尝试在 SQL 中实现,我会卡住。
SELECT * from TABLE_NAME
WHERE filter1 = $1
AND filter2 = $2
AND filter3 = $3
AND filter4 = $4
.
如何修改上面的 SQL 以响应未定义/空白值并全部返回。或者这甚至是正确的策略。
【问题讨论】:
-
如果您正在处理请求,为什么不使用不同的 SQL 命令?还是根据您拥有的参数构建命令?你在后端使用什么?
-
您的建议可能是更好的方法,您能否举个例子。这就是我想到的事情,所以我正在这样做。 Other 用于 if else 用于根本不扩展的每个条件。五个参数意味着 5 个 if else 语句。
标签: mysql node.js postgresql