table tb_board(
board_no integer
, contents varchar(250)
, user_no integer
, register date
, primary key (board_no)
);
table tb_board_send(
board_no integer
, user_no integer
, primary key (board_no, user_no)
);
SELECT a.*
FROM tb_board a,
(SELECT a.board_no
FROM tb_board a
WHERE a.display_yn = 'Y'
AND a.user_no = 10
UNION
SELECT a.board_no
FROM tb_board_send a
WHERE a.user_no = 10
) b
WHERE a.board_no = b.board_no
글 테이블이 tb_board이고 참조된 사용자 테이블이 tb_board_send 입니다.
사용자가 작성한 글과 작성하지는 않았지만 참조된 글의 리스트를 뽑는 쿼리입니다.
두개의 테이블에는 글 번호와 작성자, 그리고 참조자 번호가 각각 들어가 있습니다.
조인으로도 가능 할것 같은데 당장 나오는 쿼리는 union으로밖에는 생각이 안납니다..-_-''
데이타는 아래와 같이 존재 합니다.
글이 많이 쌓일수록 느려질거 같은데 좋은 방법이 없을까요?
tb_board
board_no |
user_no |
11 |
10 |
12 |
10 |
13 |
8 |
14 |
9 |
tb_board_send
board_no |
user_no |
11 |
18 |
12 |
7 |
13 |
10 |
result user_no = 10
board_no
11
12
13 |