2016-12-10 8 views
-1

DB2에서는 호스트 변수 값을 기반으로 단일 열에서 행을 선택해야합니다.DB2에서는 호스트 변수의 값을 기반으로 단일 열에서 행을 선택해야합니다.

db 열에는 'D'또는 'P'만 포함될 수 있습니다.

호스트 변수는 'D'또는 'P'또는 'B'(모든 행) 값을 포함 할 수 있습니다.

호스트 변수가 'D'인 경우 'D'가있는 행만 선택하려고합니다. 호스트 변수가 'P'인 경우 'P'가있는 행만 선택하려고합니다. 호스트 변수가 'B'이면 모든 행을 선택하고 싶습니다.

저는 이것을 Embedded SQL을 사용하여 RPG에서 수행하고 있습니다. 사전

+0

select * from table where dbColumn = : hostvar. 'D'와 'P'에서 작동하지만 hostvar = 'B'인 경우 코딩 방법을 고수합니다. 필자는 동적 SQL을 사용하지 않는 것을 선호합니다. – cubswin

+0

try ... try * select table from (dbColumn = : hostvar 또는 dbColumn in ('D', 'P')). – cubswin

답변

0

에서

덕분에이 감사를 ... 작동하려고가는 모든

... 선택 * 테이블의 경우 (dbColumn = ('D'에 hostvar 또는 dbColumn , 'P'))

+1

'또는 dbColumn in ('D', 'P')'는 항상 모든 행을 선택해야하기 때문에 작동하지 않아야합니다. 'or : hostvar = 'B''을 대신 사용해보십시오. 귀하의 답변에 대해 모두 – user2338816

1

여기 있습니다.

select * from table     
where dbColumn in (       
case when :hostvar ='B' then 'D'       
    when :hostvar ='D' then 'D' 
    when :hostvar ='P' then 'P'          
end ,            
case when :hostvar ='B' then 'P'       
end 
)            
+0

감사합니다. 질문 닫았다. – cubswin