【发布时间】:2013-04-22 11:08:28
【问题描述】:
我的目标是为我的sitemap.xml 文件写下我批准文章的最后修改日期 (lastmod)。该数据有两种可能性。
- 如果文章没有已批准的评论,则 lastmod 是批准 文章的日期。
- 如果文章至少有 1 条已获批准的评论,则 lastmod 是 相关文章最后批准评论的批准日期。
问php unsuccessful while loop within prepared statements问题并阅读答案后,我决定
- 不要为这种情况使用循环
- 将
col_article_id列添加到我的 cmets 表中,该表显示 文章表中相关文章的id - 并尝试使用更智能的 mySQL 查询来解决我的问题
我有 2 张桌子:
- 文章
- cmets (
comments.col_article_id将评论链接到相关的 文章)
在我尝试下面的查询后,
select tb_articles.col_approvaldate, tb_comments.col_approvaldate
from tb_articles, tb_comments
where tb_articles.col_status ='approved' AND tb_comments.col_status ='approved' AND tb_articles.col_id=tb_comments.col_article_id
我的问题是:
1 - 我需要某种方式,好像 mysql 语法允许 select max( tb_articles.col_approvaldate, tb_comments.col_approvaldate)
2 - 如果我有 n 篇没有任何已批准评论的已批准文章和 m 个已批准评论的已批准文章,那么我应该有 n+m 个结果行,每行 1 列。但目前,我有 m 行,每行 2 列。
所以我知道我走错了路。
我还搜索了“mysql latest row per group”关键字。但这毕竟是我可以到达的地方。
这是我的第一次join 体验。你能纠正我吗?最好的问候
【问题讨论】:
标签: mysql select inner-join