좋아, 그래서 PHP와 MySQL을 사용하여 클랜 명단 페이지를 만들고있다. 이 쿼리에 사용할 테이블이 여러 개 있습니다. 여기 내 테이블이 배치되는 방법은 다음과 같습니다MySQL Left Join Help
- 회원 - 일반 회원 테이블
- roster_members - MEMBERID, 게임 ID, rosterXP (경험치 회원이 그 명단에 대한 벌었 다)
- clan_ranks - 제목, minimumXP
- roster_games - 회원
의 일부 특정 게임 테이블 그래서 내가 뭘 원하는 쿼리를 작성하는 것입니다 그 일족 순위에 의해 그룹의 구성원 (minimumXP 내림차순). 그들의 클랜 순위는 clan_rank minimumXP가 roster_member (WHERE minimumXP < rosterXP LIMIT 1)보다 낮은지에 의해 결정됩니다. 어떻게 이런 식으로 만들 수 있을까요? 나는 왼쪽 조인이나 오른쪽 조인을 사용해야 할 것이라고 생각한다. 차이점은 무엇인지 모르겠다. 어쨌든,이 쿼리는 내가 생각해 낸 것이지만, 작동하지 않을 것이라고 확신합니다. 누군가가 내가 무엇을 목표 이해할 수 생각 등
SELECT cr.id AS crid,
cr.title AS rank_title,
cr.minimumxp AS rank_min,
cr.abbreviation AS rank_abbr,
cr.image AS rank_image,
rm.memberid AS member_id,
rm.rosterxp AS roster_xp,
rm.gameid AS game_id
FROM ".DB_PREFIX."roster_members AS rm
LEFT JOIN ".DB_PREFIX."clan_ranks AS cr ON (cr.minimumXP < rm.rosterXP)
WHERE rm.gameID = ".$gameID."
GROUP BY cr.id
ORDER BY rm.rosterXP DESC
내가 'm 정말 어려움 grokking을 가진 귀하의 단락, 그리고 귀하의 목표에 따라 확장하십시오. 아마도 당신은 다시 말하면서, 또는 더 나은 결과를 보여줄 수 있습니다 (예상되는 것을 보여주는 표) –
회원 결과를 얻고 그 결과에 따라 결과를 그룹화하고 싶습니다. rosterXP. – ShoeLace1291