sql문 질문
본문
SELECT * FROM
( SELECT *, 'Free' as board_is FROM es_bd_Free
UNION ALL
SELECT *, 'Sharing' as board_is FROM es_bd_Sharing )
b LEFT JOIN es_boardscrap s ON b.sno = s.bdsno WHERE 1 and s.memNo= 3806
이런 SQL 문이 있습니다..
(고도몰...)
es_ boardscrap 테이블은
위 es_bd_Sharing 게시판과 es_bd_Free 게시판에 글을 스크랩한것들은 모아두는 테이블 입니다.
문제는
예를들어 sharing게시판의 sno가 5인 게시물을 스크랩했는데,
출력되기로는 free게시판의 sno가 5일 게시물도 같이 출력이 됩니다 ㅠ
뭐가 잘못된걸까요?ㅠ
[es_boardscrap 테이블]
[es_bd_free & es_bd_sharing 테이블의 일부]
답변 2
es_boardscrap 테이블에 bdsno 말고 어느 테이블의 데이터인지는 구분하는 값이 없나요?
es_ boardscrap 테이블에
스크랩을 할 기준점인 free 와 sharing 에 대한 구분자가 존재해야 합니다.
그것이 숫자로 구분해서 적용하더라도 상관은없으나
sno는 동일한 게시물의 키값이라 , 추가 구분자가 있거나
별도의 키를 구성해야 하는데 후자는 당자 어렵고,
스크랩에 어떤게시물테이블인지를 넣어야죠
답변을 작성하시기 전에 로그인 해주세요.