숨바꼭질들,는 CASE 문을
아무도 오라클 데이터베이스 10g의 하위 쿼리 좀 도와주십시오 수를 대체 할 오라클 부속을 사용하십니까? 두 번째 테이블의 다른 열 값으로 첫 번째 테이블의 열 값을 추출해야합니다.
SELECT
CASE WHEN A.column1 = 'A' THEN 'aaa'
WHEN A.column1 = 'B' THEN 'bbb'
.......
WHEN A.column1 = 'X' THEN 'xxx'
ELSE 'bad' END AS COLUMN1, A.*
FROM TRANSACTION_TABLE A, CATEGORY_TABLE B
WHERE A.column1 IS NOT NULL
AND A.column1 <> ' '
이 우아한 접근하지, 그래서 나는 다음과 같은 CATEGORY_TABLE B에서 부속을 사용하려고 해요 : : 그래서
SELECT A.column1, A.*
FROM TRANSACTION_TABLE A, CATEGORY_TABLE B
WHERE A.column1 IS NOT NULL
AND A.column1 = B.column_b_1
AND A.column1 <> ' '
AND A.column1 IN (SELECT B.column_b_1_descr FROM CATEGORY_TABLE B
WHERE B.FIELDNAME = 'column1' AND A.column1 = B.column_b_1)
, 내가 어떤을 얻을 수 나는 현재이 문을 사용 결과는 하위 쿼리를 사용하여 여러 조건에 대해 CASE를 계속 사용하지 않으려면 A.column1 값을 B.column_b_1_descr의 설명 값으로 바꾸기를 원합니다. 나는 어떤 의견든지 평가할 것입니다. 감사
분명히하기 위해, column1이 'A'일 때 출력 행의 'column1'필드에 'aaa'문자열이 필요합니다. * 'aaa'라고하는 열의 값이 아니겠습니까? –