Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 选择多个条件,_Sql_Ms Access - Fatal编程技术网

Sql 选择多个条件,

Sql 选择多个条件,,sql,ms-access,Sql,Ms Access,嗨,伙计们 我对SQL非常陌生,这个网站也是如此 我有如下数据,我想为列车1101选择除failureBTM dead之外的所有记录,这意味着只有记录1、3不会被选择 *record* | *Train* | *Failure* | 1 | 1101 | BTM dead | 2 | 1101 | relay failure | 3 | 1101 |

嗨,伙计们

我对SQL非常陌生,这个网站也是如此

我有如下数据,我想为列车1101选择除failureBTM dead之外的所有记录,这意味着只有记录1、3不会被选择

*record*     | *Train*    |  *Failure*     |

   1         |  1101      |   BTM dead     |
   2         |  1101      |  relay failure |
   3         |  1101      |   BTM dead     |
   4         |  2101      |  relay failure |
   5         |  2101      |   BTM dead     |
   6         |  2101      |  relay failure |
这是我试过的

但事实证明,只有4,6条记录被选中。 请给我一个建议好吗?会是什么样的陈述

谢谢大家!

您使用和而不是或:

您使用和而不是或:

有时最简单的方法是不使用

所以,因为您知道您想要所有的东西,除了train=1101和failure=BTM时,只需简单地说明这一点,然后告诉sql您想要相反的东西,说NOT。还要注意,在标识字符串时需要单引号,而不是双引号,否则它会认为它是一列

有时最简单的方法是不使用


所以,因为您知道您想要所有的东西,除了train=1101和failure=BTM时,只需简单地说明这一点,然后告诉sql您想要相反的东西,说NOT。还请注意,在识别字符串时需要单引号,而不是双引号,否则它会认为它是一列。

这将只选择4,5和6。这与Matt的答案完全相同,根据德摩根的law@jonjumszymborski是正确的,答案是有效的,因为即使一列火车可能是1101,它也可能是“BTM死亡”,这意味着它仍然会被返回。我错误地否决了它,因为我自己没有充分考虑它,所以如果mszymborski你编辑你的答案,并将双引号更改为单引号,这是必要的,我会改正我的错误,提高投票率。他对摩根定律的理解也是正确的,请看链接@Matt:You'sreepthequotes。它现在应该可以工作了,谢谢你指出这些。当然,很好地坚持你的答案,让我们三思而后行!很抱歉第一次没有读得更透彻!这将只选择4、5和6。根据德摩根的说法,这与马特的答案完全相同law@jonjumszymborski是正确的,答案是有效的,因为即使一列火车可能是1101,它也可能是“BTM死亡”,这意味着它仍然会被返回。,我错误地否决了我自己的投票,没有充分考虑它,所以如果mszymborski您编辑您的答案,并将双引号更改为单引号,这是必要的,我将纠正我的错误,并提高投票率。他对摩根定律的理解也是正确的,请看链接@Matt:You'sreepthequotes。它现在应该可以工作了,谢谢你指出这些。当然,很好地坚持你的答案,让我们三思而后行!很抱歉第一次没有读得更透彻@Warawutnualpaud:如果答案令你满意,那么你可以通过点击downvote按钮下的某个内容将其标记为已接受。这样,它就不会显示在未解决的问题中,而且很明显,没有更多的内容需要添加。@warawutnualpraud:如果答案令您满意,那么您可以通过单击“向下投票”按钮下的某个内容将其标记为已接受。这样,它就不会出现在未解决的问题中,而且很明显,没有什么需要补充的了。
SELECT failure_table.record, failure_table.Train, failure_table.Failure
FROM failure_table
WHERE failure_table.Train <> 1101 And failure_table.Failure <> "BTM dead";
 SELECT failure_table.record, failure_table.Train, failure_table.Failure
 FROM failure_table
 WHERE failure_table.Train <> 1101 OR failure_table.Failure <> 'BTM dead';
SELECT failure_table.record, failure_table.Train, failure_table.Failure
FROM failure_table
WHERE NOT (failure_table.Train = 1101 And failure_table.Failure = 'BTM dead')