2009-09-23 7 views

답변

1

보통 (항상 그런 것은 아니지만) 두 개의 SQL 문을 하나로 결합하여 하위 보고서의 복잡성을 피할 수 있습니다. 예를 들어 (간단한 이상)의 경우

:

는 이러한 여러 가지 방법으로 결합 될 수
SELECT CustomerNum -- Returns number 919 
    FROM RecentOrder 
WHERE OrderNum = 23455; 

SELECT FirstName, LastName, EmailAddress 
    FROM Customer 
WHERE CustomerNum = 919 

:

SELECT FirstName, LastName, EmailAddress 
    FROM Customer 
WHERE CustomerNum = (SELECT CustomerNum 
         FROM RecentOrder 
         WHERE OrderNum = 23455 
        ) 

SELECT FirstName, LastName, EmailAddress 
    FROM Customer AS C JOIN RecentOrder AS O 
     ON C.CustomerNum = O.CustomerNum 
WHERE O.OrderNum = 23455 

당신의 DBMS에 따라, 당신이 전면 WITH 절을 사용할 수 있습니다 도

WITH name1 AS ...query1...: 
SELECT ... 
    FROM ...list including name1... 
WHERE ... 

당신이 생각하는 검색어를 조합하는 데는 많은 노력을 기울일 가치가 있습니다. 하위 보고서가 필요합니다. 여전히 하위 보고서가 필요한 경우 제공 할 수있는 것보다 더 많은 전문적인 도움이 필요합니다.

+0

감사합니다. Jon. 나는 이것을 시도 할 것이다 – Shalma

4

먼저 Jonathan Leffler의 답변을 권하고 싶습니다. 세부 정보 또는 그룹 섹션에있는 하위 보고서를 사용하는 것보다 쿼리를 사용하여 필요한 방식으로 데이터 서식을 지정할 수 있다면 훨씬 좋습니다. 세부 구역에 하위 보고서를 넣는 것은 기본적으로 주 보고서가 가져 오는 모든 레코드에 대해 보고서를 실행하는 것과 같습니다.

질문에 답하면 하위 보고서를 추가 할 때 해당 하위 보고서를 마우스 오른쪽 단추로 클릭하고 "하위 보고서 링크 변경"을 선택할 수 있습니다. 여기에서 기본 보고서 데이터를 하위 보고서 데이터에 연결할 수 있습니다. 귀하의 코멘트

1)에 응답

편집은 여기에 사용할 수있는 두 가지 옵션이 있습니다. 하나는 하위 보고서에 매개 변수를 만들고 하위 보고서의 선택 전문가에 논리를 추가하여 새 매개 변수를 사용하고 하위 보고서 링크 화면을 사용하여 주 보고서의 열을 하위 보고서의 매개 변수에 연결하는 것입니다.

2) 주 보고서 및 하위 전문가 수식에서 사용할 수있는 하위 보고서에 공유 변수를 설정합니다. 이에 대한 자세한 내용은 다음 질문을 참조하십시오. Retrieve record count of subreport in Crystal Reports

희망이 도움이됩니다. 올바른 경우 모든 답변을 upvote하고 질문에 대한 정답을 표시하는 것을 잊지 마십시오.

+0

사실이 값을 where 조건에 포함하고 싶다 예를 들면. 이 값을 전달하면 하위 값의 매개 변수에이 값을 할당하겠습니까? 그래서 내가 추가하려고하면이 매개 변수를 볼 수 없습니까? – Shalma

+0

사실 내가 메인에서 서브 리포트로 전달하는이 값을 사용하고 싶지만 이것을 링크 할 서브 리포트의 파라미터를 볼 수 없다. 너 나 좀 도와 줄 수있어? SQL에 대해 add 명령을 사용하고 있습니다. 그래서 만약 내가 추가 명령을 추가 명령에 사용할 수있는 외부에 매개 변수를 만들었나요? 나는 이것을 사용하려했지만 add 명령을 사용하지 못했습니다. – Shalma

+0

매개 변수가 연결하려는 필드와 동일한 유형인지 확인해야합니다. 아마 그것이 당신을 위해 보여주지 않는 이유 일 것입니다. – Dusty

관련 문제