데이터 테이블을 순환 할 때의 문제<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />SQL 쿼리를 기반으로 데이터 테이블이 있습니다. 필자는 데이터 테이블을 순환하여 원 데이터 테이블의 값을 기반으로 새 SQL 문을 만들고 실행하려고합니다.
어떤 이유로 인해 sql 문은 변수 이름과 함께 두 번 먼저 생성되고 이후에는 실제 변수 값으로 생성됩니다. 아래 코드와 코드가 실행될 때 로그의 결과가 있습니다. 문제에 관한 모든 팁 / 설명은 높이 평가됩니다.
br
한스
여기에서 코드 :
dtMonitor = DatabaseOpslag ( "SELECT distinct trial_no, trial_unit_reference FROM 테이블");
For (i = 1, i = nrows (dtMonitor), i ++,
쇼 (: trial_no );
쇼 (: trial_unit_reference) );
Show ( "IMPACT_ALL_ISSUES.ISSUE_CATEGORY_CODE가 'PD %'이고 IMPACT_ALL_ISSUES.trial_no ="|| Char (EVAL (: trial_no )) || "및 IMPACT_ALL_ISSUES.trial_unit_reference"|| Char (EVAL (: trial_unit_reference )) || "");
);
/ * :
여기서 로그인하십시오 :
: TRIAL_NO = 3748;
: TRIAL_UNIT_REFERENCE = "822";
"IMPACT_ALL_ISSUES INNER FROM PRIMARY_INVESTIGATOR, COUNTRY_NAME, IMPACT_ALL_ISSUES.TRIAL_UNIT_REFERENCE, PATIENT_ENTRY_NO, ISSUE_CATEGORY_DESC, ISSUE_TITLE, ISSUE_DESC, ISSUE_ACTION, GCP_ISSUE, ISSUE_CREATED_BY_FORENAME, ISSUE_CREATED_BY_SURNAME, CREATED_DATE, CLOSED_DATE, ISSUE_RESOLVED을 선택 IMPACT_UNIT_LEVEL ON 가입 (IMPACT_ALL_ISSUES.UNIT_KEY = IMPACT_UNIT_LEVEL.UNIT_KEY) AND (IMPACT_ALL_ISSUES. TRIAL_NO = IMPACT_UNIT_LEVEL.TRIAL_NO) 여기서 IMPACT_ALL_ISSUES.ISSUE_CATEGORY_CODE는 'PD %'와 같고 IMPACT_ALL_ISSUES.trial_no = "|| 문자 (Eval (: TRIAL_NO )) || "및 IMPACT_ALL_ISSUES.trial_unit_reference는"|| Char (Eval (: TRIAL_UNIT_REFERENCE) )) || ""= "SELECT PRIMARY_INVESTIGATOR, COUNTRY_NAME, IMPACT_ALL_ISSUES.TRIAL_UNIT_REFERENCE, PATIENT_ENTRY_NO, ISSUE_CATEGORY_DESC, ISSUE_TITLE, ISSUE_DESC, ISSUE_ACTION, GCP_ISSUE, ISSUE_CREATED_BY_FORENAME, ISSUE_CREATED_BY_SURNAME, IMPACT_ALL_ISSUES INNER FROM CREATED_DATE, CLOSED_DATE, ISSUE_RESOLVED IMPACT_UNIT_LEVEL ON 가입 (IMPACT_ALL_ISSUES.UNIT_KEY = IMPACT_UNIT_LEVEL.UNIT_KEY) AND (IMPACT_ALL_ISSUES.TRIAL_NO = IMPACT_UNIT_LEVEL.TRIAL_NO) 여기서 IMPACT_ALL_ISSUES.ISSUE_CATEGORY_CODE는 'PD %', IMPACT_ALL_ISSUES.trial_no = 3748 및 IMPACT_ALL_ISSUES.trial_unit_reference는 822 '와 같습니다.
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제새로운 테이블이 생성되고 다른 테이블을 클릭하면 JMP의 현재 데이터 테이블이 변경됩니다. 현재 데이터 테이블에 의존하지 않고 명시 적 테이블 참조를 사용하는 것이 좋습니다.
크레이지
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제나를 도우려는 노력에 감사드립니다. 접두사로 표를 사용하면 차이가 발생했습니다.
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제그건 속임수 였어. 고마워.
그래서 내 이해 / 학습을 위해 : jmp는 변수를 참조하려고 할 때 참조하는 데이터 테이블에 대해 혼란 스럽습니까? 하지만 접두어로 테이블이 해결 되었습니까?
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제방금 Oracle ODBC SQL, 파일 교환에 사용하는 유틸리티를 트래핑하는 오류를 게시했습니다. 딸깍 하는 소리 이리 그것을보기 위해. Oracle에만 국한되지만 다른 데이터베이스에도 적용 할 수 있습니다.
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제 C Hales 맞다. 그러나 귀하의 테이블 변수는 dtmonitor , dt가 아닙니다. 루프의 SQL 문에서 다음을 원한다.
dtmonitor : 시행 착오 [ 나는 ]
과
dtmonitor : TRIAL_UNIT_REFERENCE [ 나는 ]
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제JMP의 오류 메시지는 처음으로 JMP에서 오류 메시지를 볼 때 약간의 설명이 필요합니다.
확인되지 않은 이름 : 'trial_no'에 대한 액세스 또는 평가에서 trial_no, : trial_no / * ### * /
그게 잘못 됐어,하지만 어디서? 다음 행은 오류가 어떻게 표시되는지 알려줍니다.
다음 스크립트에서 / * ### * /
D1 = 대화 상자 ( "프롬프트", 모니터 = 편집 문구 ( "모니터 이니셜"));
... 스크립트의 무리를 건너 뛰고 찾기 ...
|| Char (: trial_no / * ### * / ) ||
데이터 테이블 JMP에서 찾고있는 것은 "trial_no"열이 없다고 생각합니다. 둘 이상의 데이터 테이블이있는 경우 dt : trial_no를 사용하여 테이블을 명시 적으로 변수를 찾을 수 있습니다.
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제나에 의하여 어리석은 실수는 미안하다 
맞춤법을 수정했고 스크립트를 실행하고 SQL 문을 표시하기 만하면 명령문이 예상대로 생성됩니다. 하지만 SQL 문을 db 쿼리를 만들고 테이블에 결과를 저장하는 함수에 전달하려고하면 함수는 한 번만 실행 한 다음 오류를 throw합니다. 나는 SQL 문 (logshow.jsl)과 (logexecute.jsl)을 실행하려고하는 문만 표시하는 로그를 만들었습니다.
나는 jmp 스크립트를 처음 사용하므로 무엇을해야할지 모르겠다.
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제너는 첫번째를 놓치고있어. 이자형 in sql_statement.
변경 :
보여 주다 ( sql_statment ) ;
이에:
보여 주다 ( sql_statement ) ;
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제이 문제를 조사해 주셔서 고맙지 만 여전히 로그에서 코드를 볼 수있는 SQL 문을 만들 수 없습니다.
여기에 코드 형식 :
dtMonitor = DabaseOpslag ( "SELECT distinct trial_no, trial_unit_reference FROM IMPACT_MONITOR_WORKLOAD 여기서 username은 '"|| Monitor || "'및 site_closed_date가 null입니다" ) ;
에 대한 ( i = 1, i <= nrows ( dtMonitor ) , i ++,
sql_statement = "SELECT PRIMARY_INVESTIGATOR, COUNTRY_NAME, IMPACT_ALL_ISSUES.TRIAL_UNIT_REFERENCE, PATIENT_ENTRY_NO, ISSUE_CATEGORY_DESC, ISSUE_TITLE, ISSUE_DESC, ISSUE_ACTION, GCP_ISSUE, ISSUE_CREATED_BY_FORENAME, ISSUE_CREATED_BY_SURNAME, IMPACT_ALL_ISSUES INNER FROM CREATED_DATE, CLOSED_DATE, ISSUE_RESOLVED IMPACT_UNIT_LEVEL ON 가입 (IMPACT_ALL_ISSUES.UNIT_KEY = IMPACT_UNIT_LEVEL.UNIT_KEY) AND ( IMPACT_ALL_ISSUES.TRIAL_NO = IMPACT_UNIT_LEVEL.TRIAL_NO) 여기서 IMPACT_ALL_ISSUES.ISSUE_CATEGORY_CODE는 'PD %'이고 IMPACT_ALL_ISSUES.trial_no = "|| Char ( : trial_no [ 나는 ]) || "및 IMPACT_ALL_ISSUES.trial_unit_reference"|| Char ( : trial_unit_reference [ 나는 ]) || "";
보여 주다 ( sql_statment ) ;
) ;
/ * :
로그 응답 :
이름 확인되지 않음 : 'sql_statment'에 대한 액세스 또는 평가의 sql_statment, sql_statment / * ### * /
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제예, show ()는 간단한 변수 이름에서 가장 잘 작동합니다. 복잡한 표현은 혼란스러운 답을 만듭니다.
제목 : Re : 데이터 테이블을 통해 루핑 할 때의 문제EVAL을 제거 할 수 있습니다. SQL 문을 변수와 동일하게 설정 한 다음 변수를 표시하십시오.
에 대한 ( 나는 = 1 , 나는 <= 안주 ( dtMonitor ) , 나는 ++,
보여 주다 ( : 시행 착오 [ 나는 ]) ;
보여 주다 ( : trial_unit_reference [ 나는 ]) ;
sql_statement =
"SELECT 문
IMPACT_ALL_ISSUES.ISSUE_CATEGORY_CODE (예 : 'PD %')
IMPACT_ALL_ISSUES.trial_no = " || 숯 ( : 시행 착오 [ 나는 ]) || "
IMPACT_ALL_ISSUES.trial_unit_reference는 " || 숯 ( : trial_unit_reference [ 나는 ]) ;
보여 주다 ( sql_statement ) ;
) ;