XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.
조회 수 45 댓글 5

 

1. document, private TABLE 2개를 join 하는 이유는 private 테이블에만 존재하는 값이 1 일때 해당 게시물만 출력하는 코드입니다.

2. private 테이블은 document 와 동일한 컬럼이 2개가 있습니다.

    module_srl, upload_target_srl (document_srl 동일) ...

    그리고 private 컬럼 1,0 으로 구분되어 있습니다.

 

private 1 에 해당하는 document 목록을 뽑아 오려고.. 아래 처럼 하고 있는데..

당췌 ㅠ_- 비개발자이다 보니.. 한계가..

 

코드 완성 부탁 좀 드리겠습니다.

 

 

 

<query id="getAllDocuments2Private" action="select">
    <tables>
        <table name="documents" alias="documents" >
         <table name="private" alias="private" type="left join" />
             <conditions>
                 <condition operation="equal" column="private.upload_target_srl" default="documents.document_srl" notnull="notnull" />
             </conditions>
         </table>
    </tables>
    
<columns>
<column name="documents.*" />
</columns>

  <conditions>
   <condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
<condition operation="equal" column="private.is_private" default="1" pipe="and" />
<condition operation="equal" column="category_srl" var="category_srl" pipe="and" />
    </conditions>
<navigation>
<index var="sort_index" default="documents.list_order" order="order_type" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="1" />
<page var="page" default="1" />
</navigation>
</query>

 

  • ?
    SimpleCode 2016.10.15 23:48:00
    쿼리 하나만 보여주시는 것보다 private 테이블 구조와 private 테이블에 데이터를 넣는 코드를 보여주셔야 뭔가 답이 나올 것 같은데요? 남이 짜놓은 SELECT 쿼리만 보고 모듈을 뚝딱 완성시키는 건 어렵거든요 @_@
  • profile
    고수군 2016.10.15 23:56:49

    <query id="getAllDocuments2" action="select">
    <tables>
    <table name="documents" />
    </tables>
    <columns>
    <column name="*" />
    </columns>
    <conditions>
    <condition operation="in" column="module_srl" var="module_srl" filter="number" />
    <condition operation="equal" column="category_srl" var="category_srl" pipe="and" />
    </conditions>
    <navigation>
    <index var="sort_index" default="list_order" order="order_type" />
    <list_count var="list_count" default="20" />
    <page_count var="page_count" default="1" />
    <page var="page" default="1" />
    </navigation>
    </query>

    백승찬님의 선택된 게시판의 전체 게시물 뽑아오는 위젯 기본 쿼리 코드 입니다.
    + 이 기본 위젯에서 비공개 체크된 게시물만 뽑아 오고 싶었습니다.
    따로 제작된 addon 으로 게시물 등록하면 xe_private TABLE에 공개/비공개를 Insert 하도록 되어 있습니다.
    upload_target_srl, module_srl, member_srl, is_private 4개의 column 값이 있습니다. is_private 1:0 으로 들어갑니다.

  • ?
    SimpleCode 2016.10.16 00:05:51

    <table name="documents" alias="documents" > 끝에 슬래시(/)가 빠져있네요.

    <table name="documents" alias="documents" />

     

    XML 파일에서는 태그를 열었으면 반드시 태그를 닫아주셔야 됩니다.
    <table> 태그 안에는 아무 내용도 없으니 그냥 열고 닫아도 됩니다.

     

    <table name="private" alias="private" type="left join" />

     

    <table> 태그 안에 태그가 있는 경우에는 열고 바로 닫으면 안 됩니다.

     

    <table name="private" alias="private" type="left join">

     

    이렇게 고치셔야 할 듯 합니다.

  • profile
    고수군 2016.10.16 01:05:16
    SELECT documents . *
    FROM xe_documents AS documents
    LEFT JOIN xe_private AS private ON private.upload_target_srl = documents.document_srl
    WHERE documents.is_directshare = 'Y'
    AND private.is_private = '1'
    LIMIT 0 , 30

     

    phpmyadmin 에서는 위 쿼리가 아주 잘 출력됩니다.

     

    XE Query 는 잘 모르겠지만.. 아래가 잘 못 된건가요?

    <query id="getAllDocuments2Private" action="select">
        <tables>
            <table name="documents" alias="documents" />
            <table name="torrents" alias="torrents" type="left join">
                <conditions>
                    <condition operation="equal" column="torrents.upload_target_srl" default="documents.document_srl" />
                </conditions>
            </table>
        </tables>
        <columns>
            <column name="documents.*" />
        </columns>
        <conditions>
    
            <condition operation="equal" column="documents.is_directshare" default="Y" pipe="and" />
            <condition operation="equal" column="torrents.is_private" default="1" pipe="and" />
        </conditions>
    <navigation>
    <index var="sort_index" default="documents.list_order" order="order_type" />
    <list_count var="list_count" default="20" />
    <page_count var="page_count" default="1" />
    <page var="page" default="1" />
    </navigation>
    </query>

     

  • ?
    SimpleCode 2016.10.16 09:03:57
    $output = executeQuery('[모듈명].getAllDocuments2Private', $args);
    debugPrint($output);

    오타가 있거나 XML Query 문법에 맞지 않는 경우 잘못된 쿼리가 만들어져서 아무 에러가 없는 것처럼 보이는 경우가 있습니다. 쿼리 실행 결과를 한 번 보셔야 할 것 같네요. executeQuery()를 실행한 결과는 생성된 쿼리문과 함께 반환됩니다.
    $output->_query 이 값이 XML 쿼리를 실제 실행한 SQL문입니다.

List of Articles
번호 분류 제목 날짜
공지 질문/답변 답변을 확실히 받기위한 질문자 지침서 20 2015.12.31
» 질문/답변 게시물 목록 XML Query 보충 좀 부탁드립니다. 굽신.. 5 2016.10.15
3031 질문/답변 mailgun 서비스에서 저희 도메인으로 발송되게 ? 5 2016.10.15
3030 질문/답변 마켓플레이스 meta name="description"이 나타나지 않는 문제 8 2016.10.15
3029 질문/답변 메뉴 팝업 or 팝업 관련 질문 4 2016.10.15
3028 질문/답변 네이버 웹문서 미노출 질문 10 2016.10.15
3027 질문/답변 사이트 메뉴 클릭하면 팝업 가능하게 되나요? 2 2016.10.15
3026 질문/답변 스케치북 게시판 목록 글자 크기 와 폰트를 바꾸고 싶어요 5 2016.10.15
3025 질문/답변 아래 네이버웍스 메일 사용 문의 30 2016.10.15
3024 질문/답변 파일캐시의 램디스크 설정 5 2016.10.15
3023 질문/답변 관리자 메인에 업데이트가 지워지질 않아요.. 2 file 2016.10.14
3022 질문/답변 게시판 검색이 너무 느립니다. 2016.10.14
3021 질문/답변 file 캐시 궁금점 1 2016.10.14
3020 질문/답변 admin@홈페이지주소.com 17 2016.10.14
3019 질문/답변 다음글 이전글을 플로팅으로? 띄우고 싶습니다. 1 file 2016.10.14
3018 질문/답변 라이믹스 알림센터의 쪽지 알림 닉네임을 익명으로 설정할 수 있나요? 2016.10.14
3017 질문/답변 네이버 소유확인이 안되는경우는? 2 2016.10.13
3016 질문/답변 언어파일을 사용자 정의로 불러 올 수 있을까요? 5 2016.10.13
3015 질문/답변 제가 백업본을 9월말꺼로 이전했는데! 2 2016.10.13
3014 질문/답변 XE의 페이지들은 article이 아닌 website로 분류를 하는데요. 맞는걸까요? 16 2016.10.13
3013 질문/답변 리눅스 쉘 스크립트 잘 아시는분 이거 하나만 만들어 주세요 3 2016.10.13
Board Pagination Prev 1 ... 14 15 16 17 18 19 20 21 22 23 ... 170 Next
/ 170
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...