mysql - 从数据表中排除和包含记录

标签 mysql

以下查询将排除所有等于 4 的 type_id。

SELECT *
FROM `release` r
LEFT JOIN type t ON t.release_group_id = r.release_group_id AND t.type_id = 4
WHERE t.type_id IS NULL

但是,我还想包括所有等于 2 的 type_id。

如何?

最佳答案

只需在 WHERE 子句中添加 OR 并在 ON 子句中添加类型 id 2

SELECT *
FROM `release` r
LEFT JOIN type t ON t.release_group_id = r.release_group_id AND t.type_id IN(4,2)
WHERE t.type_id IS NULL OR t.type_id = 2 

关于mysql - 从数据表中排除和包含记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29657065/

相关文章:

php - 带有 COUNT、FROM、WHERE、GROUP BY 的 MYSQL SELECT 跳过返回的第一行

php - 替换字符串中的pilcrows

mysql - 有没有办法将 backup.sql 文件导入到空数据库并跳过某些列

mysql - 计算 3d 对象的最大边 - MySQL 函数选择第二大值

php - 分页链接无法正常工作 - 不正确的 PHP 函数?

mysql - 将 varchar 转换为日期显示 0000-00-00

php - mysql_affected_rows 返回 0 但数据库已更改

mysql - 适用于传感器数据的数据存储

php - fatal error : Call to a member function fetch_array() on boolean on line 22

mysql - phpMyAdmin 访问被拒绝