我在创建查询时遇到了困难。我用谷歌搜索了很多,但没有找到合适的解决方案。我有一个名为“博客”(父)的表和一个名为“条目”(子)的表:
博客
- ID
- 学科
- 所有者
入口
- ID
- blog_id
- 已发布(1 = 已发布,0 = 未发布)
- date_created(时间戳,创建时间和发布时间)
一个博客有多个条目。只有已发布的条目对其他用户可见。
我想创建一个查询,它获取 10 个最新修改的博客。为此,我可能需要 SQL 中的“foreach”等效项来搜索所有博客,并按最新的 PUBLISHED 条目(entry.date_modified)对它们进行排序,但只有 IF entry.published = 1
我的 SQL 知识不在允许我创建这样一个查询的水平上。附加信息:在 MySQL 中使用 PHP (codeigniter)
我试过这个,知道它永远不会起作用,但它可以帮助你作为我想要完成的参考
SELECT blog.id
FROM blog
JOIN entry ON entry.blog_id = blog.id
WHERE entry.published = 1
ORDER by entry.date_created desc
LIMIT 0, 10
我希望我的最终结果是他们的子条目最近发布的 10 个 blog.id。有人可以帮忙吗?非常感谢所有帮助。
如果这不可能在 1 个查询中实现,也许使用 PHP 我可以创建一个 foreach 语句来执行单个查询?