Помогите с запросом
Добрый день. Помогите пожалуйста с запросом.
[[!pdoUsers?
&groups=`teacher`
&limit=`0`
&tpl=`tplTeachersToSelect`
&innerJoin=`{
"Student":{
"class":"modUserProfile",
"on":"Student.extended LIKE CONCAT('%\"id_teacher\":\"',modUser.id,'\"%')"
},
"UserGroupMember": {
"class": "modUserGroupMember",
"on": "Student.internalKey = UserGroupMember.member"
},
"UserGroup": {
"class": "modUserGroup",
"on": "UserGroupMember.user_group = UserGroup.id"
}
}`
&select=`{
"modUser": "id",
"Student":"COUNT(Student.internalKey) as count"
}`
&where=`{
"UserGroup.name":"student"
}`
&sortby=`{
"count":"ASC"
}`
&showLog=`1`
]]
Суть в чем ищет пользователей группы «6» и для каждого пользователя ищет пользователей «student» для количества. НО! Если для пользователя «6» нет ни одного пользователя «student» то он его просто не выводит. А мне нужно его выводить просто как count указать 0. Комментарии: 3
Сам sql
SELECT `modUserProfile`.`fullname`, `modUser`.`id`, COUNT(Student.internalKey) as count FROM `modx_users` AS `modUser`
JOIN `modx_user_attributes` `modUserProfile` ON modUser.id = modUserProfile.internalKey
JOIN `modx_member_groups` `modUserGroupMember` ON modUser.id = modUserGroupMember.member
JOIN `modx_user_attributes` `Student` ON (Student.extended LIKE CONCAT('%"id_teacher":"',modUser.id,'"%') )
JOIN `modx_member_groups` `UserGroupMember` ON Student.internalKey = UserGroupMember.member
JOIN `modx_membergroup_names` `UserGroup` ON UserGroupMember.user_group = UserGroup.id
WHERE ( `modUser`.`active` = 1 AND `modUserProfile`.`blocked` = '0' AND `modUserGroupMember`.`user_group` IN ('6') AND `UserGroup`.`name` = 'student' )
GROUP BY modUser.id
ORDER BY count ASC
Попробуй вместо innerJoin сделать leftJoin
Пробовал не получится. Насколько я понял строчки ниже мешают. Если их убрать то все ОК с leftJoin. Но нужна выборка по типу
"UserGroupMember": {
"class": "modUserGroupMember",
"on": "Student.internalKey = UserGroupMember.member"
},
"UserGroup": {
"class": "modUserGroup",
"on": "UserGroupMember.user_group = UserGroup.id"
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.