Postgresql结果基于条件

时间:2016-10-11 12:29:35

标签: postgresql select conditional-statements

我不确定问题标题是否正确。我将描述问题。

我有SQL查询:

SELECT * FROM table WHERE condidtion_1 or condition_2;

表格中包含可与condition_1condition_2匹配的元素。有可能在某种程度上:

  1. 如果元素与condition_1匹配,则我们仅返回这些元素,并且不检查与condition_2匹配的元素
  2. 如果不匹配condition_1,则我们只返回与condition_2匹配的元素

  3. 如果不匹配condition_1condition_2则不返回任何内容(正常方式)

  4. 感谢您的建议。

    修改

    戈登的回答激励我尝试类似的东西,看起来工作正常,但也许还有其他更明确的解决方案?

    SELECT * FROM table WHERE (condition_1 AND NOT condition_2) OR (NOT condition_1 AND condition_2);
    

2 个答案:

答案 0 :(得分:0)

这是你想要的吗?

SELECT *
FROM table
WHERE (condition_1 or condition_2) and
      not (condition_1 and condition_2);

答案 1 :(得分:0)

直接比较条件结果

SELECT *
FROM table
WHERE (condition_1) != (condition_2)
相关问题