아

이런경우 left join이 가능할까요???

· 2008-01-22 (화) 15:57:36 · 2216 · 6
최신글 게시판에서 club 이라는 특정 그룹의 글 중에서 조횟수 기준으로 최신글을 10개 가져 오고 싶습니다. 그런데, 아시다시피 $g4[board_new_table] 테이블에는 조횟수라는게 없쟎아요. ㅠ..ㅠ

그래서... 다음처럼 left join을 할 수가 없더라구요. 왜냐하면... $g4[board_new_table] 테이블의 $bo_table 필드값이 left join의 테이블 값이 되쟎아요.

$sql = " select * from $g4[board_new_table] a left join $bo_table??? b on (a.bo_table

좀... 횡설수설인데... 좋은 방법이 없을까요???

$g4[board_new_table] 테이블에 board 테이블을 join 하는방법... 너무 알고파요 ^^
|

댓글 6개

2008-01-23 (수) 10:27:13
음...제생각에는 않될거 같은데요..
join이야 되겠지만.. 한 그룹에 여러개의 게시판 테이블에서 조회수가 가장 많은것을 10개를 뽑아내야 하니
음... 각 게시판이 10개라면 가능하겠죠.. 고정이라면 말이죠..
그렇지 않고서야 10개이상인경우는 안될듯 싶은데요..
쿼리의 조합가지고만 하는건 무리인듯 싶네요
2008-01-23 (수) 10:43:28
굳이 한번 해본다면
$sql = " select * from $g4[board_table] a "; //클럽그룹에서의 각 게시판 테이블이름 덜
if ($클럽 == "club") {
$sql .= " left join $g4[board_new_table] b on (b.bo_table = a.bo_table)
where b.bo_table = :bo_table order by a.wr_hit desc limit 1";
}
하시면 각 테이블당 조회수 가장 높은 1개가 나올듯 싶은데요...ㅡ.ㅡa 맞는 쿼리인지 모르겠네요 ㅎㅎ
2008-01-23 (수) 11:36:50
하루종일 고민했습니다. union all을 통해서 board를 모두 합친 다음에... left join을 하는거 가능하게더라구요. 속도는 절대로 보장할 수 없지만요. ㅎㅎ... ^^
2008-01-23 (수) 11:59:51
그렇죠..union all을 하면 전부를 합친거기때문에 가능하긴 하겠죠..
하지만 inner나 left 한거보다는 속도의 차이가 아주 장난 아니겠죠..ㅋㅋ
2008-01-23 (수) 12:28:41
각 게시판별로 최근글 10개씩을 union all 한 다음에... 그것을 op할까 생각도 해보구 있어요.
board_new 게시판에 추가 확장 필드가 있으면 이럴 때 유용한데 아쉬워요. ㅎㅎ...
2008-01-23 (수) 13:32:51
ㅎㅎ 그냥 강제적으로 alter를 이용해 이번기회에 추가해 보심이..
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
08-01-22 조회 1,735
08-01-22 조회 1,699
08-01-22 조회 1,726
08-01-22 조회 1,663
08-01-22 조회 1,786
08-01-22 조회 1,703
08-01-22 조회 1,689
08-01-22 조회 1,749
08-01-22 조회 2,437
08-01-22 조회 2,217
08-01-22 조회 1,951
08-01-22 조회 1,731
08-01-22 조회 1,691
08-01-22 조회 1,478
08-01-22 조회 3,974
08-01-22 조회 2,010
08-01-22 조회 1,630
08-01-22 조회 1,606
08-01-22 조회 1,489
08-01-22 조회 1,587