【发布时间】:2018-10-17 03:36:53
【问题描述】:
我有两张桌子
-
tbl_message
id | user_id | user_name |message | society_id 1 -- 252----- Shubham----- HeyHi--------- 3 2 -- 252----- Shubham----- HeyHi--------- 3 3 -- 250----- Rahul---------- HeyHi--------- 3 4 -- 251----- Sachin--------- HeyHi--------- 3 -
tbl_submessage
id | post_id | user_id | submessage 1-----1----------252---------Hi- 2-----1----------252---------Hi- 3-----1----------253---------Hi- 4-----1----------253---------Hi- 5-----1----------253---------Hi- 6-----2----------254---------Hi- 7-----2----------254---------Hi-
我必须计算表 tbl_submessage 中 post_id = tbl_message 中消息的 id 的子消息的数量。
基本上 tbl_message 包含论坛帖子,而 tbl_submessage 包含在该帖子中完成的对话。
我尝试了以下查询。
SELECT tk.*,COUNT(tp.id) FROM tbl_message tk,tbl_submessage tp WHERE tk.society_id=3 and tk.id=tp.post_id;
此查询正在返回
编号 |用户 ID |用户名 |消息 |社会ID |计数(tp.id)
1 -- 252----- 舒巴姆----- HeyHi--------- 3 -----------7
我想要的是
标识 |用户 ID |用户名 |消息 |社会ID |计数
1 -- 252----- 舒巴姆----- HeyHi--------- 3---------5
2 -- 252----- 舒巴姆----- HeyHi--------- 3---------2
3 -- 250----- 拉胡尔---------- 嘿嘿--------- 3----------0
4 -- 251----- 萨钦---------嘿嘿--------- 3---------0
请帮我查询。
【问题讨论】:
-
与查询无关。在您的 cpanel 中,授予该用户访问和更改此数据库的权限
-
检查您的用户对数据库的权限和权限
-
第一个错误:你写了
tp.COUNT(id),而你应该写COUNT(tp.id)。 -
@FDavidov 我更正了我的查询,错误消失了,但我没有得到想要的结果。我想我的查询是错误的。