我对MySQL有问题。我必须选择所有只满足一个条件的行。如果条件是两个,那么XOR就起作用了,但如果条件更多,就不是解决方案。必须执行以下逻辑操作:
A:1 B:1 C:1=>0
A:0 B:0 C:0=>0
A:0 B:1 C:1=>0
A:0 B:0 C:1=>1
A:1 B:0 C:0=>1
A:1 B:0 C:0 D:0=>1
A:1 B:0 C:1 D:0=>0
只有当一个条件为真,而其他条件为假时,它才必须为真。
条件的数目是可变的

最佳答案

SELECT * FROM
WHERE IF(<cond1>, 1, 0)+IF(<cond2>, 1, 0)+(...)+IF(<condN>, 1, 0) = 1

关于mysql - 用多个XOR查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17342070/

10-09 02:00