-1

$conditions是使用可能的组合以编程方式生成的,例如

A>B
A>B AND B=C
A>C AND C<B
A<B AND B<C AND A<C
etc etc

以上3个例子都是有效的。但是,某些条件,例如

A<B AND B<C AND C<A

对于 A、B、C 的任何给定值,永远不可能为真。

我们人类可以确定上述条件永远不会成立。但是如何使用 PHP/MySql/VB.NET/JavaScript 以编程方式进行呢?

4

1 回答 1

2

好的,所以我们从某个地方开始,我尝试一个基本的解决方案。如我错了请纠正我。
如果您只有树列,您可以手动列出 27 七种可能性以及满足条件的解决方案示例(如果存在)

A=B and A=C and B=C 1,1,1  
A=B and A=C and B<C No  
A=B and A=C and B>C No  
A=B and A<C and B=C No  
A=B and A<C and B<C No  
A=B and A<C and B>C No  
A=B and A>C and B=C No  
A<B and A=C and B=C No  
...
A<B and A<C and B=C 1,2,2  
...
A>B and A>C and B>C No

然后,您创建第二个表“可能”,其中包含所有可能的响应

A,B,C
1,1,1
1,2,2
...

现在对于每个 $condition,您只需针对可能的表进行测试

SELECT count(*) FROM possibles WHERE $condition

如果结果 >= 1,那么你知道你的条件是有效的

于 2013-06-13T22:40:01.387 回答