伪SQL前面:
SELECT *
FROM table
WHERE(if var1=a then var2 must=b)
AND (if var2=c then var3 must=d);
该查询将返回两个var1 = a和var2 = b与条件匹配的行,以及var1!= a和var2!= c的所有行。
如果不使用IF,则使用OR将忽略条件之一,而使用AND将在每一行强制执行所有条件。
您可以使用布尔逻辑来做到这一点:
WHERE (var1 <> a or var2 = b) and
(var2 <> c or var3 = d);
可能需要花一点时间来思考为什么这是等效的,但是在逻辑上是等效的(假设值不相等NULL
)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句