选择多个条件

时间:2016-08-13 18:08:55

标签: sql access

嗨伙计们

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

我有如下数据,我想选择除失败以外的所有记录" BTM死"对于Train" 1101",这意味着只会选择记录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 |

这是我试过的......

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条记录 请问我有什么建议吗?它会是什么声明?

谢谢!

2 个答案:

答案 0 :(得分: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')

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

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

答案 1 :(得分:3)

您使用AND代替OR

 SELECT failure_table.record, failure_table.Train, failure_table.Failure
 FROM failure_table
 WHERE failure_table.Train <> 1101 OR failure_table.Failure <> 'BTM dead';