개발 Q&A

제목 mysql 질문입니다.
글쓴이 달수 작성시각 2016/01/12 19:49:09
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 11687   RSS

A(상품테이블)

pcode(상품코드) price(가격)

      1                10000

      2                20000

...........

 

B(판매테이블)

pcode(상품코드)  user_code(구매자코드)

   1                            1

...........

 

이런식으로 2개의 테이블이 있을때 한번도 판매되지않은 상품코드하고

특정구매자가 구매하지않은 상품코드 2개를 가져올려고 합니다(위에테이블로는

2번상품이 1번구매자가 구매하지않는 상품코드입니다.)

쿼리를 어떤식으로 작성해야하는지 도움좀 부탁드릴게요 ;;

구매내역이 있는 코드는

$this->db->select('pcode');

$this->db->join('B','B.pcode=A.pcode','inner');

$this->db->get('A');

이렇게 되는데 반대쿼리가 잘안되네요 ;;

 

그리고 특정유저가 구매한코드도

$this->db->select('pcode');

$this->db->where('B.user_code', '1');

$this->db->join('B','B.pcode=A.pcode','inner');

$this->db->get('A');

이렇게되는데 이것도 반대쿼리가 잘안되서요 ;;

 다음글 Mysql 파티셔닝 사용법이 궁굼합니다 (4)
 이전글 세션이 자동으로 만료되었을때 알수있는방법. (5)

댓글

변종원(웅파) / 2016/01/12 20:17:09 / 추천 0

left join 하고 user_code 가 null인걸 불러오면 구매내역이 없는겁니다.

달수 / 2016/01/12 20:23:19 / 추천 0

user_code가 null인걸 불러온다는게 잘이해가 안가는데 어떤식인지 알려주실수 있나요 ;;

kaido / 2016/01/13 08:42:50 / 추천 0

@달수

inner join과 outer join의 차이를 먼저 알으셔야 할 것 같습니다.

 

검색해 보시면 바로 찾으실수 있습니다.