- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在编写一个 SQL 查询,用于检查其 where
子句中的错误设备。为了执行这个操作,我需要一个一个地检查每个设备的修订周期,所以这个条款将结果限制为正确的设备(没有任何周期不正确):
where not exists(select * from trevision_cycle cycle
where cycle.id_equipment = equip.id and cycle.`status` = 'NO_OK')
但是,现在我想引入一个查询参数,以便根据其值仅检索正确的设备或仅检索不正确的设备。假设我称它为不正确
,所以我想做与此处所做的相同:
where (not incorrect and not exists(select * from trevision_cycle cycle
where cycle.id_equipment = equip.id and cycle.`status` = 'NO_OK'))
or (incorrect and exists (select * from trevision_cycle cycle
where cycle.id_equipment = equip.id and cycle.`status` = 'NO_OK'))
因此,如果存在 incorrect
标志,请检查至少有一个错误修订周期的设备。否则,只取回所有正确的设备。 虽然查询看起来很多余,但使用逻辑 XNOR 可以实现相同的结果.
对此我有更好的选择吗?
更新
示例数据
Equipment 1 -> Has one NO_OK cycle
Equipment 2 -> All its cycles are OK
Query with incorrect = true -> Returns only Equipment 1
Query with incorrect = false -> Returns only Equipment 2
最佳答案
您可以将 XOR
与 NOT
结合使用 - 两者都存在于 mysql 中。这是 XOR
的真值表:
+----------------+|A | B | A XOR B |+--+---+---------+|0 | 0 | 0 ||0 | 1 | 1 ||1 | 0 | 1 ||1 | 1 | 0 |+----------------+
If we apply NOT
to this table, it will look this:
+---------------------+|A | B | NOT(A XOR B) |+--+---+--------------+|0 | 0 | 1 ||0 | 1 | 0 ||1 | 0 | 0 ||1 | 1 | 1 |+---------------------+
Same as the XNOR
table. So, WHERE
can look like this:
WHERE NOT (incorrect XOR EXISTS(SELECT * FROM trevision_cycle cycle
WHERE cycle.id_equipment = equip.id AND cycle.`status` = 'NO_OK'))
关于MySql XNOR 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37142470/
我看到一个问题,要求从仅包含一个连续数字的集合中找出非重复数字,其余数字可以重复任意偶数次。那里有一个限制,您需要使用常量内存在单次传递中找到该数字。 {假设所有都是正数}。 我通过制作这个功能轻松实
我正在编写一个 SQL 查询,用于检查其 where 子句中的错误设备。为了执行这个操作,我需要一个一个地检查每个设备的修订周期,所以这个条款将结果限制为正确的设备(没有任何周期不正确): where
我做了一些研究,并用 Java 编写了一些适合我需要的简单程序。我在整数上使用了逻辑运算符 AND、OR、XOR,但我错过了 XNOR 运算符。我正在寻找的是一个 XNOR 运算符,其行为与提到的其他
我在网上搜索过,但没有找到解决此问题的方法。 运算符的逻辑优先级是什么NAND , NOR和 XNOR ? 我的意思是,以表达式为例 A AND B NAND C 应该首先评估哪个运算符? 显然 NA
我正试图找到用 C 语言编写 XNOR 门的最有效方法。 if(VAL1 XNOR VAL2) { BLOCK; } 有什么建议吗? 谢谢。 最佳答案 有两个操作数,这很简单: if (val
XNOR operation should be performed on the two integer values (1101011 XNOR 1010101) and should retur
我正在处理一个 key 未知的 XNOR 加密文件。我想修改此处可用的 xortool:https://github.com/hellman/xortool用于 XNOR 加密。 显然,只有两行使用了
我有两个字符串存储在 a 和 b 中。如果两个字符串都有一些值,我想进行一些验证。为此,我使用: if(a && b) { //Do some processing. } 但是如果其中一个为空
目前,我有一组可能性,我正在寻找基于该可能性列表计算事实(逻辑XNOR) >. var possibilities = new[] { new[] {0, 1, 1, 1, 1, 1, 1,
我是 C# 新手,找不到 XNOR运算符提供此真值表: a b a XNOR b----------------T T TT F FF T FF F
我想有人帮助我。有一个非常好的 JS 库 math.js。它实现 bool 逻辑运算符 NOT、OR、AND、XOR。我需要其他的:NOR、NAND、XNOR。 我知道 NOR 不是 OR,但是;有一
我有两个 64 位值,我想按如下方式对它们进行 XNOR: RAX: 01000001 | 01000010 | 01000011 | 01000001 | 01000101 | 01000110 |
我是一名优秀的程序员,十分优秀!