2010-03-01 4 views
2

NULL 엔티티 유형 행이 기본 세율을 나타내는 세율 테이블이 있습니다.행의 필드 값을 기준으로 행 병합

Year End | EntityType | RateType | TaxRate 
------------------------------------------ 
2009 |  NULL | Interest |  13 
2009 |  NULL | Other |  8 
2009 |  NULL | Interest |  13 
2010 |  NULL | Other |  9 
2009 | Company | Interest |  15 
2010 | Individual | Other |  6 

EntityType을 매개 변수로 사용하여이 테이블에 대한 저장 프로 시저를 만들려고합니다. 매년 해마다 해당 엔티티 유형에 대한 세율을 반환하고, 그렇지 않으면 해당 연도 및 ratetype에 대해 NULL 행을 반환합니다.

즉 :

Year End | EntityType | RateType | TaxRate 
------------------------------------------ 
2009  |  NULL | Interest |  13 
2009  |  NULL | Other |  8 
2009  |  NULL | Interest |  13 
2010  | Individual | Other |  6 

아무도 내가 이것을 달성 할 수있는 방법을 제안 할 수

반환해야 entitytype 개인과 위의 쿼리? 사전에

감사합니다,

답변

2
SELECT 
    t1.year_end, 
    t1.entity_type, 
    t1.ratetype, 
    COALESCE(t2.taxrate, t1.taxrate) 
    FROM 
    Rates AS t1 
LEFT JOIN 
    Rates AS t2 ON 
     t1.year_end = t2.year_end 
     AND t2.entitytype IS NULL 
WHERE t1.year_end = @year 
    AND t1.entitytype = @entitytype 
관련 문제