mysql - 如果是我,请选择两个选项;如果是其他用户,请仅选择一个选项

标签 mysql sql

我在MySql中有表NOTES,其中有Draft列。草稿可以是 0 或 1,其中 1 表示笔记仍然是草稿。

每一行都是一个注释,每一行都有一个用户作为注释创建者。

如何在一个查询中从所有用户的表 NOTES 中选择行,但排除其他用户草稿的注释,同时包含我的草稿?换句话说,如何为除我之外的所有用户选择草稿设置为 0 的笔记,以及为我选择草稿设置为 0 或 1 的笔记?

(顺便说一句,表NOTES有列UserId,还有表USERS,每个用户都有Id。而且,我知道我的Id。)

我没有任何有意义的查询,但可以说,开头是:

SELECT * FROM 笔记,用户在哪里...呃?

最佳答案

您正在寻找简单的逻辑:

select n.*
from notes n
where draft = 0 or userid = $userid ;

即选择所有非草稿的笔记以及指定用户的所有笔记。

关于mysql - 如果是我,请选择两个选项;如果是其他用户,请仅选择一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35974337/

相关文章:

php mysql date.utc 并统计出现次数

MySQL用 - 替换所有空格

java - Jooq/SQL 查找另一列中唯一值的平均值

sql - jsonb @> 搜索的 PostgreSQL 索引

sql - 动态插入 -- ORA-00923 : FROM keyword not found where expected

php - ORDER BY 和 WHERE

MySQL Workbench 6.2.5 在 MAC OS X 10.8.5 上意外退出

mysql - 合并两个大型 MySQL 数据库,同时保持引用完整性

sql - 在 Oracle sql 中选择带有子查询的随机记录

sql - 组功能不适用于 SQL Server