TL; DR는 : @gmiley 문제가 일반 ID하지 않은 _ID
열 이름에 의해 발생 지적한 것처럼 (하기 정의 참조) 따라서 따옴표 "_ID"
표로해야하거나 귀하의 SQL 문에 작은 따옴표 '_ID'
. 통상 식별자 달리
select m.title, m.year, g.value
from MOVIES m
inner join MOVIES_GENRE g on m."_ID" = g."_ID";
는 인용 식별자 (title
가 TITLE
동일 반면 "_id"
"_ID"
는 동일하지 않다) 대소이다. 명령문에 "_id"
을 지정하면 해당 열을 찾을 수 없다는 오류가 발생합니다.
DashDB 테이블을 채우는 데 Cloudant warehousing process을 사용했다고 언급 했으므로 스키마를 검색하는 동안 DDL이 생성 될 때 속성 이름이 대문자임을 언급 할 가치가 있습니다.
예 :이 구조
{
"_id": "000018723bdb4f2b06f830f676cfafd6",
"_rev": "1-91f98642f125315b929be5b5436530e7",
"date_received": "2016-12-04T17:46:47.090Z",
...
}
와 JSON 문서의 내용은 세 컬럼에 매핑 될 것이다 : 타입
_ID
VARCHAR(...)
형
_REV
VARCHAR(...)
DATE_RECEIVED
의 유형 ...
- ...
희망이 있습니다. DB2 SQL reference 가입일
:
일반 ID가 대문자, 숫자 또는 밑줄 문자 인 각각 0 이상의 문자 뒤에 대문자이다. 소문자는 일반 식별자를 지정할 때 사용할 수 있지만 처리 할 때 대문자로 변환됩니다. 일반 식별자는 예약어가 아니어야합니다.
예 : WKLYSAL
WKLY_SAL
식별자가 따옴표로 둘러싸인 하나 개 이상의 일련의 문자 구분. 연속되는 공백은 중요합니다. 식별자에 이 저장되어 있지만 시퀀스의 후미 공백은 중요하지 않습니다. 두 개의 연속 된 따옴표는 구분 된 식별자 내에 하나의 인용 부호를 나타 내기 위해 사용됩니다 ( ). 이런 방식으로 식별자 은 소문자를 포함 할 수 있습니다.
예 : "WKLY_SAL"
"WKLY SAL"
"UNION"
"wkly_sal"
는 특정 오류가 발생하고 있습니까? 만일 그것이 열 이름'_id'라고 생각되면, 그 주위에 큰 따옴표를 넣어 객체 이름임을 나타낼 수 있습니다 :'내부 join MOVIES_GENRE g on m. "_ ID"= g. "_ ID";'If 가능한 경우 해당 열의 이름을 표준 형식으로 변경하는 것이 좋습니다. – gmiley