Hjælp til SQL query
Jeg har følgende forespørgsel:declare @ContractPartnerId uniqueidentifier
declare @ReportId uniqueidentifier
declare @LanguageId uniqueidentifier
declare @TargetDate datetime
set @ContractPartnerId = '10BFF3E6-09A2-4C99-9487-A135284F185F'
set @ReportId = 'A80BB893-3B66-443F-8C3D-19A6E6ACEF5C'
set @LanguageId = '0EA348B3-9B83-46D5-914D-FAA0C30DFB4C'
set @TargetDate = GETDATE()
SELECT DISTINCT RIT.Id, RI.ReportId, RIT.ReportItemId, RIT.ContractPartnerId, RIT.LanguageId, RI.Name, RIT.Text, RIT.FromDate, RIT.ToDate
FROM ReportItemTexts RIT
INNER JOIN ReportItems RI ON RI.Id = RIT.ReportItemId
WHERE RI.ReportId = @ReportId
AND (RIT.ContractPartnerId = @ContractPartnerId or (RIT.ContractPartnerId is null and @ContractPartnerId is null))
AND RIT.LanguageId = @LanguageId
AND RIT.FromDate <= @TargetDate
AND (RIT.ToDate IS NULL OR RIT.ToDate >= @TargetDate)
Det henter blot nogle rapport tekster ud baseret på input parametrene, det virker også 100%. Men som den er nu henter den KUN tekster fra den ContractPartner som er angivet. Jeg vil gerne have lidt intelligens ind i kaldet, da en rapport tekst for en bestemt ContractPartner ikke altid findes, skal den falde tilbage på en fallback text, hvor ContractPartner er NULL, for hver reportitem. Dvs at jeg reelt kan oprette alt med ContractPartner NULL og så benytter alle CPs de tekster, men opretter jeg én tekst for en bestemt CP, så benytter han alle default tekster, lige bortset fra den ene da den tekst matcher input ContractpartnerId, resten tages fra fallback (NULL)
Helt konkret, hvis den ikke finer noget på den angive CP, hent fra NULL CP, individuelt for hver row.
Så hvordan kan jeg lave dette kald, så det er indbygget logik? hvis det overhoved giver mening.