문제
다음과 같이 sql문을 작성하면 검색하는 태그 이외의 태그들은 걸러지고 검색 태그에 해당하는 레코드 한 줄만 들고 오는 문제가 있었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
select
a.arno,
a.title,
a.content,
a.cdt,
a.cano,
a.vw_cnt,
a.state,
u.uno,
u.nick article_nick,
u.photo article_photo,
at.tno,
t.name tag_name,
t.tag_color,
t.font_color
from
article a
inner join user u on a.writer=u.uno
left outer join arc_tag at on a.arno=at.arno
left outer join tag t on at.tno = t.tno
where at.tno=#{no} and a.state=1
order by a.cdt desc
해결방법
다음과 같이 article_tag 테이블을 한 번 더 조인하여 문제를 해결하였다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
select
a.arno,
a.title,
a.content,
a.cdt,
a.cano,
a.vw_cnt,
a.state,
u.uno,
u.nick article_nick,
u.photo article_photo,
t.tno,
t.name tag_name,
t.tag_color,
t.font_color
from
article a
inner join user u on a.writer=u.uno
left outer join arc_tag at on a.arno=at.arno
left outer join arc_tag at2 on a.arno=at2.arno
left outer join tag t on at2.tno = t.tno