Как использовать условия if в SQL Query view - PullRequest
1 голос
/ 18 июня 2020

Использование представления в SSMS.

Я хочу использовать условия if в представлении и добавлять столбцы в представление на основе условий.

ALTER VIEW [dbo].[KnowledgeArticlesJsonOut] AS
/****** Script for SelectTopNRows command from SSMS  ******/
SELECT KA.[Id]
      ,KA.[new_brandmultiselectstring]
      ,KA.[statecode]`enter code here`
      ,KA.[statuscode]
      ,KA.[knowledgearticleid]
      ,CAT.title as categorytitle
      ,CAT.categorynumber
From [CRM].[knowledgearticle] as KA
LEFT OUTER JOIN [CRM].[knowledgearticlescategories] AS KAC on KAC.knowledgearticleid = KA.Id
LEFT OUTER JOIN [CRM].[category] as CAT on KAC.categoryid = CAT.categoryid
GO

Я хочу добавить такие условия:

  1. ЕСЛИ KA. [New_brandmultiselectstring] содержит '170001', то 170001 как 'MRBrand'
  2. ЕСЛИ KA. [New_brandmultiselectstring] содержит '170000', затем 170000 как 'USSBrand'

в обзоре. Пожалуйста, помогите мне с этим.

1 Ответ

1 голос
/ 18 июня 2020

Вы можете использовать выражение case для выполнения sh следующего:

ALTER VIEW [dbo].[KnowledgeArticlesJsonOut] AS
/****** Script for SelectTopNRows command from SSMS  ******/
SELECT KA.[Id]
    , KA.[new_brandmultiselectstring]
    , KA.[statecode]
    , KA.[statuscode]
    , KA.[knowledgearticleid]
    , CAT.title AS categorytitle
    , CAT.categorynumber
    , CASE WHEN KA.[new_brandmultiselectstring] LIKE '%170001%' THEN 170001 ELSE NULL END AS MRBrand
    , CASE WHEN KA.[new_brandmultiselectstring] LIKE '%170000%' THEN 170000 ELSE NULL END AS USSBrand
FROM [CRM].[knowledgearticle] AS KA
LEFT OUTER JOIN [CRM].[knowledgearticlescategories] AS KAC ON KAC.knowledgearticleid = KA.Id
LEFT OUTER JOIN [CRM].[category] AS CAT ON KAC.categoryid = CAT.categoryid
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...