asp.net - 如何在 GridView 中显示另一个表的计数?

标签 asp.net mysql

我为学校建立一个博客,我想显示每个主题的评论数。然而,我对如何实现这个目标有点迷茫,任何帮助都会非常感谢!

我有 2 张 table

CREATE TABLE `blog_message` (
  `MessageID` int(30) NOT NULL AUTO_INCREMENT,
  `Username` varchar(45) NOT NULL,
  `Message` text,
  `AddedDate` datetime DEFAULT NULL,
  `Title` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`MessageID`)
)


CREATE TABLE `blog_comments` (
  `CommentID` int(30) NOT NULL AUTO_INCREMENT,
  `MessageID` int(30) DEFAULT NULL,
  `Author` varchar(45) DEFAULT NULL,
  `CommentMessage` text,
  `AddedDate` datetime DEFAULT NULL,
  PRIMARY KEY (`CommentID`),
  KEY `blog_comments_ibfk_1` (`MessageID`),
  CONSTRAINT `blog_comments_ibfk_1` FOREIGN KEY (`MessageID`) REFERENCES `blog_message` (`MessageID`)
)

我的目标是

在 GridView 中显示

int 表格格式 评论数 |标题 |用户名 |创建日期

最佳答案

以下是MySQL语法,不确定你用的是什么。但这将返回一个 MessageIds 列表以及它们拥有的评论数。

----------------------------
| MessageId | comment_count|
----------------------------
| 1234      | 34           |
----------------------------

SELECT bm.MessageId, count(bc.CommentId) as comment_count
FROM blog_comments bc, blog_message bm
WHERE bm.MessageId = bc.MessageId
GROUP BY bm.MessageId

如果您想要作者和AddedDate,只需将其添加到SELECT语句中(即SELECT bm.MessageId, count(bc.CommentId) as comment_count, bm.AddedDate, bm.Author )。

关于asp.net - 如何在 GridView 中显示另一个表的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11571241/

相关文章:

javascript - 从弹出窗口登录网站后如何重定向到主窗口

asp.net - 适用于 ASP.NET 和 MVC3 的自定义身份验证提供程序

javascript - 从每个 2 个标记 javascript 显示更多方向

mysql - 在 MySQL 中按具有非固定范围的时间间隔分组

c# - 每秒 SQL 查询

c# - 循环遍历列表并删除项目时,集合被修改错误

asp.net:在普通的非服务器端 html 控件中引用相对于 root 的页面

c# - 如何从 Service Fabric 外部将日志发送到 ServiceEventSource?

php - 为什么 apache2 服务器最多需要 1.5 小时才能写入 6 mb .sql 文件

php - PDO 变量在查询中不起作用,但静态值有效