mysql - 无法确定我需要表中的多条记录的 MySQL 查询

标签 mysql

我有以下表格:

类别—— entry_id,cat_id

标题 -- entry_id,标题

数据 -- entry_id、日期、正文

对于输入到数据库中的每条记录,相同的 entry_id 被输入到三个表中的所有三个 entry_id 字段中。在类别表中,它会为每个类别发布一条记录,例如:

entry_id: 100 cat_id:24

entry_id: 100 cat_id:31

entry_id: 100 cat_id:17

(假设 cat_id 24 是 web_design,31 是编码,17 是 ajax)

问题: 我遇到了一个问题,只选择类别表中同时包含 cat_id 24 和 17 以及其他字段的记录。这就是我所拥有的。我知道这很粗糙,但它几乎让我一路走来:

SELECT 
    data.entry_id,
    data.date,
    data.body,  
    titles.entry_id,
    titles.title AS biz_name,
    categories.entry_id,
    categories.cat_id
    FROM data, titles, categories
    WHERE data.entry_id = titles.entry_id 
    AND data.entry_id = categories.entry_id 
    AND categories.cat_id = '24'

这将显示 cat_id 为 24 的所有内容,但是当我添加

AND categories.cat_id = '17'

到查询的最后,没有任何返回。

有什么想法吗?

最佳答案

SELECT 
    data.entry_id,
    data.date,
    data.body,  
    titles.entry_id,
    titles.title AS biz_name,
    categories.entry_id,
    categories.cat_id
    FROM data, titles, categories
    WHERE data.entry_id = titles.entry_id 
    AND data.entry_id = categories.entry_id 
    AND categories.cat_id IN (17,24)

关于mysql - 无法确定我需要表中的多条记录的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5424874/

相关文章:

php - 使用pdo包装器类时未捕获到异常'PDOException'

mysql - SQL日志数据库设计

php - 选择性地从 MySQL 中删除 moSTLy 重复记录

mysql - WP 如何猜测新帖子使用哪个 ID?

php - MySQL RENAME TABLE 语句如何工作/执行?

database - mysqldump 所有带有数据的表,带有创建和添加-删除表语句

mysql - 如何为 where 子句中的每个名称最多获取两个条目

mysql - 按优化分组

mysql - 如何让php代码以vbnet形式执行

c# - 如何在一张表中插入相同的 LAST_INSERT_ID() 以创建多条记录;