我有以下表格:
类别—— 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/