조인 으로 질문 드립니다.
본문
관리자 페이지에서 생성한 table 을 조인 하려고 하는데 조인이 안되더라구요 ㅠㅠ
분명히 안되는것이 아니라 못하는거겠지요 ㅠㅠ 보시고 말씀좀 해주세요
테이블 g5_write_APT, g5_write_SHOP 두곳에 admin 으로 적은 글은 다뿌리려고 하는데 조인을 어떻게 쓰면 되죠??
INNNER JOIN 으로 해도 안되고 LEFT JOIN 으로 해도 되질 않네요 ㅠㅠ
나와야 되는거는 8개가 나와야 되는데 출력을 하게 되면은 7개만 되서 ㅠㅠ
고수님들 조금만 도와 주세용 ㅠㅠ
SELECT a.*, b.*
FROM g5_write_APT a
INNER JOIN g5_write_SHOP b
ON a.mb_id = b.mb_id
WHERE a.mb_id = 'admin'
답변 2
INNER JOIN나 LEFT JOIN은 교집합 구분이라고 생각하시면 됩니다.
LEFT JOIN은 LEFT 를 포함한 교집합 구문이구요.
원하시는 사항은 두개 이상의 테이블에서 조건에 맞는 모든 항목을 출력하시는걸로 보입니다.
이럴땐,
1. 쿼리를 각각 따로 작성하셔서 한번에 출력해줄 수도 있고
2. UNION ALL을 사용할 수도 있습니다.
UNION ALL 간단한 예제를 드리니 참고하세요
sql_query("
select id, name, content from g5_write_apt where mb_id = 'admin'
union all
select id, name, content from g5_write_shop where mb_id = 'admin'
order by wr_datetime");
* UNION ALL의 주의사항은 id, name, content 이 항목은 테이블마다 공통적으로 쓰셔야 합니다.
* UNION ALL에 대해서 검색하시면 다양한 쿼리문을 보실 수 있습니다.
db 내용을 봐야 하겠습니다만..
right join 으로 해보세요.