나는 사이트에서 퀴즈를 통해 다양한 수업에 학생 성적을 저장하는 데 사용되는 WordPress 사이트가 있습니다. 나는 특정 그룹 (buddypress 그룹을 사용하는)의 모든 학생들을위한 모든 수업과 각 레슨의 학생 성적을 추출하는 쿼리를 작성하려고합니다. 이것은 현재 그들이 테스트를 시도 교훈에 그룹의 모든 학생들에 대한 모든 성적을 반환값이 '등급'이거나 존재하지 않는 경우 검색 결과를 얻으십시오.
SELECT u.display_name, p.post_title, cm.meta_value
FROM wp_users u
JOIN wp_bp_groups_members gm
ON u.ID = gm.user_id
JOIN wp_comments c
ON u.ID = c.user_id
JOIN wp_commentmeta cm
ON c.comment_ID = cm.comment_id
JOIN (SELECT * FROM wp_posts WHERE post_type LIKE 'lesson') p
ON c.comment_post_id = p.ID
WHERE gm.group_id = 4 AND cm.meta_key LIKE 'grade'
:
이 나는이 쿼리를 만들었습니다. 그러나 그것은 시험을 시도하지 않은 수업을 반환하지 않으며, 여전히 필요합니다.
레슨은 게시물이며, 성적은 meta_key가 '성적'인 레코드에서 meta_values입니다. 이들은 주석 및 comment_meta로 저장됩니다.
이 모든 것이 명확하고 도움이되기를 바랍니다. 감사.
그룹의 모든 학생의 성적뿐만 아니라 사람을 반환 거의 작동하지만SELECT u.display_name, p.post_title, IFNULL(cm.meta_value,'--nothing--') grade
FROM wp_users u
JOIN wp_comments c
LEFT JOIN wp_commentmeta cm
ON c.comment_ID = cm.comment_id AND cm.meta_key = 'grade'
JOIN wp_bp_groups_members gm
ON u.ID = gm.user_id
JOIN wp_posts p
ON c.comment_post_id = p.ID
WHERE gm.group_id = 4 AND p.post_type LIKE 'lesson'
(그것은 단지 그룹의 학생 중 하나 이름을 제공하지만) :
은 올리 존스 도움 후 나는이했다 .
도움을 주셔서 감사합니다. 분명히 나를 가까이에 데려갔습니다. 한 가지 문제가 있으므로 내 질문에 수정 사항을 추가했습니다. – DanR
나는 이것을 답으로 이끌었던 것처럼 이것을 정확하게 표시하고있다. 나는 wp_comments와 wp_commentmeta 모두에 가입해야했다. 감사합니다. – DanR
아, 고마워 해줘서 고마워. 나는 나의 대답을 업데이트했다. –