0
契約の対象となる会計年度の半分を計算する必要があります。SQL照会 - 異なる部分を持つケース
7月から12月の間はH1です。
1月から6月の間はH2
となります。契約書は何年も続く可能性がありますので、今年度はAgreementEndDateを締めて会計年度を決定します。コードのこの部分が機能します(つまり、min(case when AgreementEndDate>[email protected] then AgreementEndDate else '' end) as 'Agreement End Date'
)
ただし、ここでは問題が発生しています。私はH1またはH2のどちらかを 'Agreement Window'の最後に追加する必要がありますが、まだそれを把握していません。
複数のWHEN句を追加しようとしましたが、重複する行があります。それで私がminと一緒に行った理由。
提案がありますか?
DECLARE @dtDate DATE
SET @dtDate = GETDATE();
Select
AD.TPID
,min(case when AgreementEffectiveDate<[email protected] then AgreementEffectiveDate else '' end) as 'Agreement Effective Date'
,min(case when AgreementEndDate>[email protected] then AgreementEndDate else '' end) as 'Agreement End Date'
,min(case when AgreementEndDate>[email protected] then 'FY' + convert(varchar(2),(FORMAT(AgreementEndDate, 'yy') - 1)) + ' H2'
--WHEN (month(AgreementEndDate) >= 1 and month(AgreementEndDate) <= 6) THEN 'FY' + convert(varchar(2),(FORMAT(AgreementEndDate, 'yy') - 1)) + ' H2'
--WHEN (month(AgreementEndDate) >= 7 and month(AgreementEndDate) <= 12) THEN 'FY' + convert(varchar(2),(FORMAT(AgreementEndDate, 'yy') - 1)) + ' H1'
else '' end) as 'Agreement Window'
from AgreementDetails AD