次のクエリは、0 年の四半期データを取得します。このクエリは、四半期 1、2、および 3 を正常に取得します。
Year Quarter Quarterly_Yield
2012 3 6.6
2012 6 5.58
2012 9 7.28
問題:四半期のデータ レコードが存在するかどうかに関係なく、4 つの四半期すべての「結果」を返す必要があります。
望ましい解決策:各四半期の SELECT フィールドに「レコードが存在しない場合は NULL を返す」ように指示したいと思います。このようにして、レコードにデータが存在するかどうかに関係なく、私のテーブルには 4 つの四半期すべての結果が含まれます。
set @ID_CARTERA = 1;
select
LEFT(A.F_ANOTRIMESTRE, 4 ) Year,
RIGHT(A.F_ANOTRIMESTRE, 2 ) Quarter,
ROUND ( A.POR_RENTABILIDAD, 2 ) Quarterly_Yield
from dr_rent_carteras_trimestres A
where A.ID_CARTERA = @ID_CARTERA
And LEFT(A.F_ANOTRIMESTRE, 4 ) = ( select MAX(left(F_ANOTRIMESTRE, 4 ) ) - 0
from dr_rent_carteras_trimestres
where ID_CARTERA = @ID_CARTERA )