【问题标题】:Possible simple SQL Query可能的简单 SQL 查询
【发布时间】:2021-07-09 10:16:04
【问题描述】:

我感觉很愚蠢,因为这应该有一个简单的答案。也许我需要更多的咖啡。

想象一下下面的 Oracle 表:

Row ID1 ID2
1 B B
2 B A
3 C A
4 C B
5 D A
6 D B
7 E A

如何选择所有行除了 ID1 = E,以及 ID2 = A 和 ID1 = B 或 C 的行(这意味着我想要所有 ID1 = D,但对于 ID1 = B 或 C ,删除 ID2 = A)。 我可以通过很多 OR 来做到这一点,但是有更好的方法吗?

【问题讨论】:

    标签: sql oracle where-in


    【解决方案1】:

    如何选择除 ID1 = E 以及 ID2 = A 和 ID1 = B 或 C 之外的所有行(

    这是布尔逻辑。你可以使用:

    where not (id1 = 'E' or (ID2 = 'A' and ID1 IN ('B', 'C')))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多