테스트 사이트 - 개발 중인 베타 버전입니다

mysql 쿼리 질문 채택완료

7년 전 조회 3,016

총 세개의 테이블이 있습니다.

 

회원테이블, 관리자 테이블, 브랜드 테이블

 

회원 테이블(member)

m_seq id
1 admin

브랜드 테이블

b_seq name
1  아디다스
2  나이키

 

관리자 테이블

seq m_seq(회원테이블) b_seq(브랜드 테이블)
1 1 1
2 1 2

 

회원 테이블에 있는 admin이 두개의 브랜드를 관리하여

관리자 테이블에 각각 들어가있습니다.

 

이걸 리스트에 노출시킬때

 

seq id name
1 admin  아디다스, 나이키

 

 

이렇게 노출시키려면 어떻게 해야할까요??

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

select 회원.m_seq as seq, 회원.id, group_concat(브랜드.name) as name

from 회원, 관리자, 브랜드

where 회원.m_seq=관리자.m_seq and 관리자.m_seq=브랜드.m_seq

group by 회원.m_seq

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

$sql = " select A.m_seq, A.id, B.b_seq from member A, adminTable B where A.m_seq = B.m_seq AND A.id='admin' ";

$result = sql_query($sql);

이렇게 해서 회원과 관리자테이블을 조인하시고

여기서 얻어진 결과물의 b_seq를 통해서 이름을 불러오시면

for($i=0; $row=sql_fetch_array($result);$i++){

    echo $row['m_seq'].$row['id'];

    $sql2 = " select * from 브랜드테이블명 wehre b_seq='".$row['b_seq']."' ";

    $result2 = sql_query($sql2);

    for($j=0; $row2=sql_fetch_carray($result2); $i++) {

        echo $row['name'];

    }

    echo " ";

}

이런식으로 조인해서 불러오시는게 편하지 않을까요?

세개를 조인할 수 도 있지만, 두개의 조인한 두번의 쿼리로 하는게 어떨까 생각해봅니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고