这是一个小脑筋急转弯!
我有一个查询,该查询至少包含3个不同的where子句。我想知道是否有更简单的方法来做到这一点,而不是编写详尽的if语句来测试每个可能的结果!
这3个子句是从具有至少3个不同值(包括“ ALL”选项)的下拉菜单中选择的。
我希望你们开始关注我的问题...
所以,如果我有:
req_data="$(sed -En 's%.*confirmation ID=\\"'$variable'-(.+)\\" status.*%\1%p' /tmp/log)"
USER决定选择以下内容:
所以现在有一种方法可以重写我的查询:
SELECT * FROM tabe1 WHERE col1 = combo1Value AND col2 = combo2Value AND col3 = combo3Value
或者我别无选择,只能写一个大的if语句?
答案 0 :(得分:1)
您可以使用以下内容:
WHERE
col1 = IIf([combo1value] = "*", [col1], [combo1value]) AND
col2 = IIf([combo2value] = "*", [col2], [combo2value]) AND
col3 = IIf([combo3value] = "*", [col3], [combo3value])