MySQL查询设计问题

标签 mysql

如果用户有一个值为 1deletion 字段,我如何忽略其他用户的所有评论和主要评论?我的查询会是什么样子。

这是我的 MySQL 表

CREATE TABLE articles_comments (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
parent_comment_id INT UNSIGNED NOT NULL,
user_id INT UNSIGNED NOT NULL,
article_id INT UNSIGNED NOT NULL,
comment TEXT NOT NULL,
date_created DATETIME NOT NULL,
PRIMARY KEY (id),
KEY user_id (user_id),
KEY article_id (article_id)
);

CREATE TABLE users (
user_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
username VARCHAR(255) NULL,
password CHAR(128) NOT NULL,
active CHAR(32),
deletion TINYINT(1) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (user_id),
UNIQUE KEY (username)
);

最佳答案

假设您的原始查询是

选择---列--- 来自---表--- 哪里---从句---

和 ---tables--- 包括将 root_comment 连接到用户表

例如articles_comments root_comment 加入用户 root_user ON (root_comment.user_id = root_user.user_id)

然后在 ON 子句中添加第二个条件

articles_comments root_comment 加入用户 root_user ON (root_comment.user_id = root_user.user_id and root_user.deletion != 1)

如果这不能满足您的要求,您能澄清一下您的问题吗?

关于MySQL查询设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3914075/

相关文章:

mysql - 从每 50 行中选择 5 个值的总和并按总和分组

mysql 在运行 docker Composer - Node js 时出现错误

mysql - 使用其他表中的值更新 MYSQL 表

php - 我无法显示数据库 MySQL 中的图像

MySQL:从 3 个表中选择

mysql - 如何在 WHERE 子句中使用多对批量 SELECT 行

java - 如何从 javaFx 中同一数据库中的两个 mysql 表填充 TableView ?

sql - 从 MySQL 复制到 MS SQL

php - 如何使用 PHP 将 MySQL 查询结果作为嵌套数组获取?

MySQL存储过程优化