김광진님이 쓰신 SQL은 좀.....
제생각은 UNION 을 쓰면 어떨까 싶은데요
아래와 같습니다.
SQL> select a.faq_id,
a.question,
a.answer
from faq a, user b
where a.faq_id = b.faq_id_1
and user_id = '1'
union
select a.faq_id,
a.question,
a.answer
from faq a, user b
where a.faq_id = b.faq_id_2
and user_id = '1'
union
select a.faq_id,
a.question,
a.answer
from faq a, user b
where a.faq_id = b.faq_id_3
and user_id = '1'
.
.
.
b.faq_id_6번 까지;
조금이나마 도움이 되시길...
좋은 하루 되십시요...
>>김광진 님께서 쓰시길<<
:: user table
:: USER_ID NUMBER(10)
:: FAQ_ID_1 NUMBER(10)
:: FAQ_ID_2 NUMBER(10)
:: FAQ_ID_3 NUMBER(10)
:: FAQ_ID_4 NUMBER(10)
:: FAQ_ID_5 NUMBER(10)
:: FAQ_ID_6 NUMBER(10)
::
:: faq table
:: FAQ_ID NUMBER(10)
:: QUESTION VARCHAR2(100)
:: ANSWER VARCHAR2(2000)
::
::
:: SELECT * FROM faq F, (SELECT * FROM user WHERE user_id = '1') U WHERE F.faq_id IN (U.faq_id_1, U
:: .faq_id_2, U.faq_id_3, U.faq_id_4, U.faq_id_5, U.faq_id_6)
::
::
:: user 테이블의 faq_id_1 ~ faq_id_6에는 faq 테이블의 faq_id가 각각 들어 있습니다.
:: 그리고 해당 user에게 정해진 6개의 faq를 출력을 해줄 때...
:: faq_id_1부터 순서대로 뿌려줄려고 합니다.
:: 그런데 위의 query로 하면 순서대로 뿌려지지 않네요.
::
:: 어떻게 하면 될까요.
|