postgresql - 为条件逻辑 postgres 返回单独的查询
问题描述
我需要检查表中的字段是否为空并返回单独的结果/如果是则执行不同的查询。这是一般的高级逻辑,但我不知道如何在 Postgres 中运行它。
CASE
WHEN (select master_user_id from users where id = 88 IS NULL) THEN
select company_name from users where id = 88;
ELSE
select company_name from users where id = (select master_user_id from users where id = 88);
END CASE;
解决方案
如果始终有 id =88 的记录但 master_user_id 为空,则可以编写如下逻辑:
select company_name from users
where id IN (select COALESCE(master_user_id,id) from users where id = 88 )
如果您正在检查记录 id = 88 是否存在,则:
select company_name from users
where id IN COALESCE((select master_user_id from users where id = 88),88)
推荐阅读
- python - 熊猫不识别 TZ 感知日期时间
- javascript - vue js数据中的对象方法
- node.js - NodeJS express 自动创建的应用程序绑定到服务器
- angular - 应该如何在模型中定义字段 dateIni
- amazon-web-services - 如何使用 boto3 附加或更新 API 网关资源策略
- css - 根 div 填充 React(样式化组件)
- java - 错误:捕获异常 [错误:不支持的命令 [selectFrame | 索引=1 | ]] 将代码从 Selenium IDE 导出到 Webdriver
- r - 在 ggplot2 的 x 轴上重复年份
- java - Eclipse E4:“IWorkbenchWindow”未注入 ProgressRegion
- javascript - 遍历 objs 数组,检查值是否存在,返回相反的值 / Javascript