SQL 질문 드립니다. 하나의 최신글에 두개 게시판 불러오기

SQL 질문 드립니다. 하나의 최신글에 두개 게시판 불러오기

QA

SQL 질문 드립니다. 하나의 최신글에 두개 게시판 불러오기

본문

$limit = 15;
$sql= "select * from g5_write_aaa order by wr_id desc limit 0, 50";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {

 

aaa 라는 게시판을 불러오게 했는데..

bbb 라는 게시판도 하나의 최신글에 불러오게 하고 싶어요....

 

혹시 도움을 받을 수 있을까요??? 

이 질문에 댓글 쓰기 :

답변 4

UNION을 사용하여 하나의 2개의 테이블을 1개의 테이블로 볼수 있습니다.

aa라는 별칭을 넣어서 aa.w_id값을 기준으로 정렬후 SELECT로해서 게시판의 내용을 뽑아오시면 될꺼 같습니다.

 

SELECT * FROM (
   SELECT * FROM g5_write_aaa 
   UNION 
   SELECT * FROM g5_write_bbb 
) aa
order by aa.wr_id desc limit 0, 50

 

해보시다 안되시면 쪽지 주세요.

단점: 이렇게 쓰시면 필드명 같을때 어떤 테이블의 필드명인지 구분이 안됩니다.

1.그래도 상관없다면 저렇게 테이블을 모두 합쳐서 쓰는 방법이 있습니다.


$limit = 15;
$sql= "SELECT * FROM g5_write_aaa UNION SELECT * FROM g5_write_bbb order by wr_id desc limit 0, 50";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {

 

2. for문으 따로 돌려서 사용하는 방법이 있습니다.


$limit = 15;
$sql= "SELECT * FROM g5_write_aaa UNION SELECT * FROM g5_write_aaa order by wr_id desc limit 0, 50";
$result = sql_query($sql);
$sql= "SELECT * FROM g5_write_bbb UNION SELECT * FROM g5_write_bbb order by wr_id desc limit 0, 50";
$result2 = sql_query($sql);
//g5_write_aaa 테이블의 값
for ($i=0; $row = sql_fetch_array($result); $i++) {
    //예로 wr_id출력하고 싶다면
    echo $row['wr_id'];
}
//g5_write_bbb 테이블의 값
for ($i=0; $row2 = sql_fetch_array($result2); $i++) {
    //예로 wr_id출력하고 싶다면
    echo $row2['wr_id'];
}

각각의 for문을 따로 사용하시면 중복값이 피할 수 있습니다.

SELECT n.bo_table,n.wr_id,n.bn_datetime,
        CASE
            WHEN bo_table = 'aaa'
            THEN (SELECT wr_subject FROM g5_write_aaa WHERE wr_id = n.wr_id)
            
            WHEN bo_table = 'bbb'
            THEN (SELECT wr_subject FROM g5_write_bbb WHERE wr_id = n.wr_id)
        END AS 'wr_subject'

        
FROM g5_board_new AS n
ORDER BY n.bn_datetime DESC 
LIMIT 50

 

 

 

최근게시물 db를 활용한 방법으로 짜봤습니다 ㅎㅎ

최근게시물은 관리자>환경설정 에서 최근게시물 저장 일수를 설정할 수 있으니 참고바래요

모두 감사합니다. 기존 코드에서 변경하고자 했는데 복수리님이 해주신 방법으로 하니 바로 나오네요..

코드 전체는 유료 소스에서 가져온거라 올리지 못하기에 우선 해결된 방법을 아려주신 코드로 적용하였습니다. 정말 다시 한번 모든분들에게 감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 722
QA 내용 검색
filter #sql ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT