SQL - 如果表中的结果在两列中具有相同的数据,如何从表中排除结果

时间:2016-09-21 15:36:01

标签: sql sql-server tsql

例如,我有一个Cargo Shipment表,在该表中有两列;起源和目的地。如果这些列中的值相同,我将如何制作以便从select语句中获得的任何结果?

更具体地说,我可以有一行,其中Origin和Destination都等于'Chicago',如何排除该行而不排除具有Origin 目标为Chicago的行。

4 个答案:

答案 0 :(得分:6)

replaceAll

答案 1 :(得分:2)

您可以使用WHERE子句使用

排除原点和目标都等于特定值的所有行
SELECT *
  FROM SHIPMENTS
 WHERE ORIGIN <> 'val'
       OR DESTINATION <> 'val'

或者,如果您想要排除原点和目的地在值列表中的所有项目,您可以使用

SELECT *
  FROM SHIPMENTS
 WHERE ORIGIN <> DESTINATION
       OR ORIGIN NOT IN ('list', 'of', 'vals')

答案 2 :(得分:0)

如果您只需要比较两列,请使用not equal operator =!或&lt;&gt;在你的where子句中,根据你的需要。

...选择 Origin!= Destination

希望它有所帮助。

这里有一篇关于此操作符的帖子Not equal <> != operator on NULL

答案 3 :(得分:0)

试试这个:了解变更要求

SELECT *
FROM SHIPMENTS
WHERE ORIGIN <> 'Chicago' AND DESTINATION <> 'Chicago'