데이터베이스 테이블을 사용하여 사용자가 (응용 프로그램 내에서) 필드를 생성하여 사용자가 만든 테이블을 볼 수있는 타사 프로그램이 있습니다. User_Created_Fields라는 테이블이 있습니다. 같은 응용 프로그램이이 앱이 User_Created_Fields 테이블에 지정된 테이블과 필드 이름이 필드에 대한 데이터를 저장두 번째 선택 문장에 따라 선택에 포함 할 열 선택
Group 1
First Charge *text area for input*
Begin Date *text area for input*
End Date *text area for input*
----------
Group 2
First Charge *text area for input*
Begin Date *text area for input*
End Date *text area for input*
응용 프로그램에 다음을 표시하는 테이블에이를보고
TABLE FIELD_NAME GROUP LABEL
products charge1 1 First Charge
products begin_date1 1 Begin Date
products end_date1 1 End Date
products charge2 2 First Charge
products begin_date2 2 Begin Date
products end_date2 2 End Date
그래서 PRODUCTS.charge1 및 PRODUCTS.charge2 필드 s (해당 날짜 필드에 대해서도 동일).
이제 Products 테이블에 저장된 값을 선택하는 보고서를 작성해야하지만 사용자가 필드를 추가하기 때문에 필자는 User_Created_Fields의 Table 및 field_name 열에서 선택한 열이 필요합니다. 표.
때문에 출력은 쿼리가select (select Table ||'.'||field_name from User_Created_Fields where Label='First Charge' and Group= (select Group from User_created_fields where label ='First Charge')) from Products
이 그래서 난 그냥 SQL을 사용할 수 없습니다 크리스탈 보고서에가는 것처럼 (매우 약) 보일 것이다
PRODUCTS.Begin_date, PRODUCTS.End_date, PRODUCTS.Charge1, User_Created_Fields.Group
과 같을 것이다 내가 일반적으로하는 것처럼 SQL을 생성합니다. 이것도 할 수있는 더 많은 결정 esq 방법이 있을지 모르지만 나는 그것이 무엇인지를 모르고 있습니다. 이 정보는 분명히 판매 세부 사항과 결합 될 것입니다. 그러나이 부분은 경건하지 않게 충분히 복잡하기 때문에 simplicitiy에 대한 부분을 남겼습니다. 나는 크리스탈 11과 오라클 10을 사용하고 있습니다.
이 모든 것을 읽었다면 보상을받을 자격이 있습니다 .... 감사합니다.
select를 실행할 수는 있지만 ... 항상 테이블 이름과 필드 이름을 텍스트로 반환합니다 ... 실제로 선택 항목의 일부로 테이블과 필드 이름을 실행하지 않습니다 – user1023993
동적 SQL, 저장 프로 시저 및 전역 임시 테이블의 조합을 사용하여이를 확인할 수 있습니다. 일부 참조는 아래에서 확인할 수 있습니다. http://www.dbforums.com/crystal-reports/1634385-using-oracle-package-data-source-report .html – psaraj12