postgresql - 如何将值与子查询一起添加到 POSTGRES IN 子句
问题描述
我有一个简单的查询,需要 PostgreSQL 中的简单解决方案。查询是
SELECT distinct(id)
FROM users
WHERE id IN (1, 2, 3)
OR id IN (SELECT user_id FROM users_names WHERE user_id IN (1, 2, 3) AND is_valid = true)
笔记:
- 例如 1、2、3、4 是有效的 ID。
- 子查询应仅返回 1、2、3 的 id
假设 3 是有效的,所以它应该返回 1、2、3 而不是 4
但似乎它不起作用,我错过了一些基础知识,但我能得到答案。
解决方案
SELECT id
FROM users
WHERE id IN (1, 2, 3)
OR id IN (SELECT id FROM users WHERE is_valid = true)
更好的是:
SELECT id
FROM users
WHERE id IN (1, 2, 3)
OR is_valid = true
推荐阅读
- kubernetes - 具有 aws-ebs pv 问题的 statefulset 中用于 pv 的 kubernetes 供应商
- android - 使用 Canvas 绘制文本而不使用 TextView 对象
- vba - 如何在 Powerpoint VBA 中写这个?'将幻灯片上的视频文件设置为以幻灯片模式自动启动。'
- plugins - 在 .NET 中开发 MS Outlook Add
- python - 使用 QShortcut 时如何更改按钮的动画?
- html - 在 Mac OS 上使用 callto 或 tel 的问题
- excel - 在一系列单元格中使用预定义变量 (VBA)
- javascript - 引导开关类不适用于复选框输入?
- laravel - Laravel 关系排序方式
- regex - 正则表达式匹配行与字符串和没有另一个字符串