sql - 根据复杂条件选择
问题描述
请告诉我下面显示的测试表在以下条件下 SELECT 的 SQL 语句。
测试台布局
ID KEY VALUE
1 FOO A
2 BAR B
3 HOGE C
4
5
・・・
如果 ID = 1 和 KEY = FOO 的 VALUE 等于 ID = 2 和 KEY = BAR 的 VALUE,则返回 ID = 3 和 KEY = HOGE 的 VALUE。
如果 ID = 1 和 KEY = FOO 的 VALUE 和 ID = 2 和 KEY = BAR 的VALUE不相等,则返回 ID = 3 和 KEY = HOGE 的 VALUE。
解决方案
条件 1 和 2 互斥:如果 1 为真,则 2 不为真,反之亦然。在这两种情况下,期望的结果是......
C值回报
...所以实际上这个查询满足要求:
select value
from your_table
where ID = 3
and KEY = 'HOGE'
毫无疑问,这不是你想要的答案。请您澄清您的问题。
推荐阅读
- azure - 在 Azure 资源组项目中添加新资源
- azure-devops - 如何在 Azure DevOps Repository 工具栏中启用/禁用上传文件按钮
- workbox - 为什么在使用过期插件的时候一定要设置cacheName?
- javascript - 使用 NodeJS 的 Mautic
- kubernetes - 使用 terraform+helm 设置 kubernetes+istio 的发布管道会出现禁止错误
- go - 如何模拟接口实现
- snmp - Opendaylight 和 snmp4sdn 插件是否工作
- prometheus - 如何在 Prometheus 中使用两个指标执行查询?
- android - 如何将分页列表实时数据从 MainActivity 发送到 Fragment 并使其持久化
- airflow - 变量修改是否会在 Airflow 中进行审核?