쿼리문조언 0 3 123

by 신의한수 [MySQL] [2019.11.28 22:05:45]


안녕하세요.

 

조인관련 공부를 하다가 궁금한것이 있어 문의를 드릴까합니다.

 

SELECT a.xxx
     , a.yyy
     , b.aaa
     , b.ccc
     , (SELECT name FROM member WHERE id = a.uid) aname
  FROM bbs a
  LEFT JOIN campaign b
    ON a.idx = b.bidx
 ORDER BY a.idx DESC
 LIMIT 0, 20
 

위와같이 2개의 테이블로 join을 시도했습니다.

또한 서브쿼리(?)로 member 테이블에서 성명을 가져오는데요

해당관련 리스트는 정상적으로 노출이 되고있으나 

위의 member 테이블의 이름을 조회하려면 어떻게 해야되는것인지. 고수님들의 조언좀 얻고자 합니다.

by jkson [2019.11.29 08:27:51]

성명하고 이름하고 다른 건가요?; 성명이라는 컬럼과 이름이라는 컬럼이 따로 있는 거예요?

member테이블 컬럼을 여러개 보여줘야하는 거라면 그냥 member 테이블도 조인하세요.


by 마농 [2019.11.29 08:28:20]

맴버의 이름이 잘 조회가 되고 있는데?
맴버의 이름을 조회하려면 어떻게 해야 되나?
음... 혼란하네요... 질문이...
혹시 서브쿼리를 조인으로 바꾸고 싶다는 건가요?
 

SELECT a.xxx
     , a.yyy
     , b.aaa
     , b.ccc
     , c.name
  FROM bbs a
  LEFT JOIN campaign b
    ON a.idx = b.bidx
  LEFT JOIN member c
    ON a.uid = c.id
 ORDER BY a.idx DESC
 LIMIT 0, 20
;

 


by 신의한수 [2019.11.29 21:06:30]

답변 감사합니다.

이름과 성명은 같습니다. 명칭을 통일시켰어야 하는데 깜빡했네요.

위 쿼리로 전체리스트 결과에서는 member 테이블의 이름을 잘 가져옵니다.

문제는 위 쿼리형태로 "홍길동" 이라는 이름을 검색했을때 "홍길동"이라는 사람만 추출되어야하는데

그렇지 않고 전체리스트가 나옵니다.

그렇다면 위 형태의 서브쿼리 형태로 구성을 하면 원하는 결과값을 얻지못하는것인지, 조언을 구하고자 합니다.^^

제가 질문을 잘 못드린것 같습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입