멤버 레코드 목록을 표시하려고하는데 필요한 항목을 표시하는 데 사용하는 테이블이 몇 개 있습니다.MySQL 하위 쿼리 - LEFT JOIN의 첫 번째 레코드 만 찾습니다.
그건 쉬운 부분입니다. 도움이 필요한 부분은 각 회원 기록에 많은 기록이있는 테이블입니다. 로그인 내역
로그인 기록 테이블에있는 각 회원 레코드의 첫 번째 행만 표시하려고합니다. 또는 플립 플립하고 로그인 기록 테이블의 마지막 레코드를 표시 할 수도 있습니다.
여기에 지금까지있어 무엇 :
이SELECT m.memberid, m.membername, m.gender, mp.phone
FROM tbl_members m,
tbl_members_phones mp,
tbl_members_addresses ma
WHERE m.defaultphoneid = mp.phoneid
AND m.defaultaddressid = ma.addressid
그래서 예상 무엇을 반환합니다.
두 개의 열 tbl_members_login_history
에서 반환 된 결과에 다음과 같이 추가하고 싶습니다. mh. loggedtime
, mh. ipaddy
왼쪽 중복을 반환 가입으로 나는 tbl_members_login_history
를 추가 알고, 그래서 나는 tbl_members_login_history
에 존재하는 memberid
을 위해 단지 1 레코드를 반환하기 위해, 여기에 하위 쿼리 필요성이 있어야한다 생각하고 있어요.
걱정되는 점은 내역 테이블에 레코드가없는 경우 해당 멤버 정보를 표시하려고하지만 내역 열은 NULL로 두는 것입니다.
하위 쿼리 문제일까요? 그렇다면 LIMIT 유형을 어떻게 추가할까요?
호기심, 회원은 전화와 주소를 필요합니까? 그렇지 않은 경우, 귀하의 질문 중 하나가 쓰여진 방식대로 누락 된 경우 귀하의 질의가 다른 회원 정보를 반환 할 것이라고 생각하지 않습니다. – Sam
이 경우 예. 그러나 당신 말이 맞습니다. 회원은 기존 기록이 없으면 결과에 반환되지 않습니다. – coffeemonitor