기본 키가 claims_id
인 테이블을 가지고 있지만 레거시 이유로 인해 claims_id
또는 claim_id
매개 변수 중 하나를 사용하여 레코드를 조회 할 수 있어야합니다. 이것을 어떻게 할 수 있습니까? 나는 전에 검색 쿼리에 대해 다음과 같은 패턴을 사용했습니다 :SQL databroker 작업에서 매개 변수 별칭을 어떻게 구현합니까?
select...
where (
{$claims_id} is null
or
claims.claims_id = {$claims_id}
)
and
(
{$claim_id} is null
or
claims.claims_id = {$claim_id}
)
을 ...하지만 당신이하지 않는 쿼리에 두 매개 변수를 제공 할 수 있기 때문에 이것은 단지, 나에게 아주 잘하지 않는 것 어떤 의미가 있습니다. 이와 같은 것을 달성하는 올바른 방법은 무엇입니까?
이러한 테이블은 크기가 크기 때문에 아무 것도 선택하지 않은 이유는 매개 변수가 지정되지 않은 경우 쿼리에서 아무 것도 반환하지 않습니다.
업데이트 : 해당 데이터베이스가 DB2임을 유의하십시오.
매개 변수가 수동으로 지정되었거나 묵시적입니까 (예 : dataset-param)? –
WHERE 절에서 ISNULL (Column1, Column2) = ISNULL (Parameter1, Parameter2)을 사용할 수 있습니다. 하지만 응용 프로그램에 따라 달라질 수 있습니다. 로직 – Prasanna
@TristanWilkinson을 수동으로 사용합니다. 데이터 브로커를 동적으로 선택하기 때문에 작업은 다른 databroker의 유사한 작업과 동일한 인터페이스를 준수해야합니다. –