У меня две таблицы
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 = id сообщения в tbl_message.
В основном 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 | user_id | имя_пользователя | сообщение | Society_id | COUNT (tp.id)
1 - 252 ----- Шубхам ----- Привет, привет --------- 3 ----------- 7
Я хочу
id | user_id | имя_пользователя | сообщение | Society_id | COUNT
1 - 252 ----- Шубхам ----- Привет, привет --------- 3 --------- 5
2 - 252 ----- Шубхам ----- Привет, привет --------- 3 --------- 2
3 - 250 ----- Рахул ---------- Привет, привет --------- 3 --------- 0
4 - 251 ----- Сачин --------- Привет, привет --------- 3 --------- 0
Пожалуйста, помогите мне с вопросом.
Проверьте права и разрешения вашего пользователя в базе данных
Первая ошибка: вы написали tp.COUNT(id), а вам нужно написать COUNT(tp.id).
@FDavidov Я исправил свой запрос, ошибка исчезла, но я не получаю желаемого результата. Думаю, мой запрос неверен.






Есть пара проблем с вашим запросом: вам нужно изменить соединение на левое соединение, чтобы получить пользователей, у которых нет суб-сообщений, и добавить GROUP BY, чтобы выдавать результаты для каждого пользователя. Попробуй это:
SELECT tk.*, COUNT(tp.id)
FROM tbl_message tk
LEFT JOIN tbl_submessage tp
ON tp.post_id = tk.id
WHERE tk.society_id=3
GROUP BY tk.id
Получил желаемый результат.
ничего общего с запросом. в вашей cpanel дайте разрешение этому пользователю на доступ и изменение этой базы данных