首页 > 解决方案 > 根据复杂条件选择

问题描述

请告诉我下面显示的测试表在以下条件下 SELECT 的 SQL 语句。

测试台布局

ID  KEY     VALUE
1   FOO     A
2   BAR     B
3   HOGE    C
4
5
・・・
  1. 如果 ID = 1 和 KEY = FOO 的 VALUE 等于 ID = 2 和 KEY = BAR 的 VALUE,则返回 ID = 3 和 KEY = HOGE 的 VALUE。

  2. 如果 ID = 1 和 KEY = FOO 的 VALUE 和 ID = 2 和 KEY = BAR 的VALUE不相等,则返回 ID = 3 和 KEY = HOGE 的 VALUE。

标签: sqloracle

解决方案


条件 1 和 2 互斥:如果 1 为真,则 2 不为真,反之亦然。在这两种情况下,期望的结果是......

C值回报

...所以实际上这个查询满足要求:

select value
from your_table
where ID = 3 
and KEY = 'HOGE'

毫无疑问,这不是你想要的答案。请您澄清您的问题。


推荐阅读