この SQL を小さくする方法はありますか?
CASE
WHEN @contentType = 'PrimaryBannerItem' THEN
[dbo].[DeathStar_GetContentLink] (@contentId, c.content_id, @pageCollectionId, ISNULL(l.filename, ''))
ELSE
[dbo].[DeathStar_GetContentImagePath](ISNULL(a.mimetype, ''), ISNULL(c.image, ''), ISNULL(l.filename, ''))
END AS [Image],
CASE
WHEN @contentType = 'PrimaryBannerItem' THEN
dbo.DeathStar_GetMetadataValue(c.content_id, @urlMetadataId)
ELSE
[dbo].[DeathStar_GetContentLink](@contentId, c.content_id, @pageCollectionId, ISNULL(l.filename, ''))
END AS Link,
もっと似せるには
CASE
WHEN @contentType = 'PrimaryBannerItem' THEN
[dbo].[DeathStar_GetContentLink](@contentId, c.content_id, @pageCollectionId, ISNULL(l.filename, '')) as [Image]
dbo.DeathStar_GetMetadataValue(c.content_id, @urlMetadataId) as [Link]
ELSE
[dbo].[DeathStar_GetContentImagePath](ISNULL(a.mimetype, ''), ISNULL(c.image, ''), ISNULL(l.filename, '')) as [Image]
[dbo].[DeathStar_GetContentLink](@contentId, c.content_id, @pageCollectionId, ISNULL(l.filename, '')) as [Link]
END
ご覧のとおり、コードが少し読みやすくなり、使用される行数が削減され、冗長性が回避されるためです。