2009-06-11 3 views
0

다음 쿼리를 사용하여 JDBC를 통해 .mdb 파일에서 데이터를 검색합니다. 그러나 .odb 파일에서 시도 할 때 예외는 발생하지 않지만 전혀 결과가 없습니다. 나는 .odb 대소 문자를 구분하지 않습니다. mdb가 없거나 내가 누락 된 부분이 있습니까?.mdb와 .odb의 결과가 다른 이유는 무엇입니까?

"SELECT DISTINCT column-one + ':'+ column-two As ResultColumn FROM datatable;"

두 파일 형식 모두에서 작동하는 명령문을 하나만 만들면 어떻게됩니까?

답변

1

그들은 두 개의 다른 회사에서 작성한 두 개의 서로 다른 제품이고 프로그래머는 사물을 다루는 방법에 대해 다른 선택을했기 때문에 서로 다릅니다.

당신이 지정한 컬럼 별칭을 사용해 보셨나요? 아마도 Expr1000보다 더 자세한 설명이있을 것 같습니까?

SELECT DISTINCT column-one + ":" + column-two As Expr1000 FROM datatable 

이것이 SQL Server에 쓰는 방법입니다. 데이터베이스가 작동하는지 확인하십시오.

+0

mdb에서는 작동하지만 odb에서는 작동하지 않으며 원래의 질문에이를 반영하도록 수정되었습니다. 감사합니다. –

+0

worsk now for both, thank you –

1

제안 :

1) 예를 들어, 큰 따옴표 대신 작은 따옴표를 사용하십시오

SELECT DISTINCT column-one + ':' + column-two As ResultColumn FROM datatable; 

2) 아마도 .odb 소스의 SQL 구문이 연결을 다르게 처리합니다. .mdb와 함께 '+'NULL이 전파됩니다. 하나 이상의 열 값이 NULL이면 결과는 NULL입니다. '&'연결 기호는 NULL 값을 무시합니다. 이 .MDB 땅에서

SELECT DISTINCT column-one & ':' & column-two As ResultColumn FROM datatable; 

표준 ANSI/ISO에서이 동일합니다 SQL-92 수 (.mdb 땅에서 지원되지 않음)

SELECT DISTINCT COALESCE(column-one, '') + ':' + COALESCE(column-two, '') As ResultColumn FROM datatable; 

3)이 소스는하지 않으면 동일한 구문을 지원합니다. .mdb의 연결된 테이블 기능을 사용하여 .mdb의 .odb 원본에서 테이블을 연결하고 .mdb의 SQL 코드 만 사용할 수 있습니까?

+0

"&"토큰은 odb 토지에서 recoginized되지 않았습니다. –

관련 문제