【问题标题】:Which condition satisfies among multiple conditions in SQL querySQL查询中多个条件中满足哪个条件
【发布时间】:2016-12-28 13:53:14
【问题描述】:

这是我的 SQL 查询:

select * 
from table1 
where Column1 less than Condition1 
      || Column2 less than Condition2 
      || Column3 Less than Condition3

现在我试图找出以上 3 个条件中的哪个条件满足表中的特定记录。

【问题讨论】:

  • 提供一些样本数据和预期输出。这样我们就可以很容易理解了。
  • 如果满足多个条件会发生什么? (此外,没有人会在 SO 上发布问题而不期望他们早日得到答案)

标签: sql sql-server multiple-conditions


【解决方案1】:

你确定它是 SQL SERVER 吗?如果是,则更正语法并添加您的逻辑。 就像 Karras 提到的那样,您已经在 select 中有 *,这已经让您确定哪一列满足 WHERE 子句,但是这段代码可能会进一步帮助您。

SELECT *,  
  CASE 
    WHEN Column1 < Condition1
    THEN 'Column 1 satisfies'
    WHEN Column2 < Condition2
    THEN 'Column 2 satisfies'
    WHEN Column3 < Condition3
    THEN 'Column 3 satisfies'
  END as ConditionFlag
FROM table1 
WHERE Column1 < Condition1 OR Column2 < Condition2 OR Column3 < Condition3;

【讨论】:

  • 感谢混沌军团。它真的帮助了我!
【解决方案2】:

只要您使用* 返回完整的结果集,您应该能够看到 Column1、Column2、Column3 的值并了解哪些条件评估为真。

【讨论】:

    猜你喜欢
    • 2013-12-19
    • 1970-01-01
    • 2017-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    相关资源
    最近更新 更多