选择多个条件,

War*_*aud 1 sql access


嗨,大家好

我对SQL这个网站也很陌生.

我有如下数据,我想选择火车"1101"故障"BTM死"以外的所有记录,这意味着只有记录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 |
Run Code Online (Sandbox Code Playgroud)

这是我试过的..

SELECT failure_table.record, failure_table.Train, failure_table.Failure
FROM failure_table
WHERE failure_table.Train <> 1101 And failure_table.Failure <> "BTM dead";

但事实证明只有4,6记录被选中.
请问我有什么建议吗?会是什么声明?

谢谢!

Mat*_*att 5

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')
Run Code Online (Sandbox Code Playgroud)

有时最简单的方法是使用NOT.

所以因为你知道你想要的一切除了当火车= 1101和失败='BTM'时只需说明然后告诉sql你想要反过来说NOT.另请注意,在识别字符串而不是双引号时需要单引号,否则它会认为它是列.