1

我有一个创建视图,我正在使用该STUFF功能。我让它工作,它从一张表中取出一个字段并填充它。然而,这些值是整数,它们在另一个表中有相应的描述。所以我会在我的东西字段中有"4, 5"并且我希望它是"this is #4 description, this is #5 description"。我的创建视图和 STUFF 函数如下,表是通过链接的,ConditionsReasonsID但是我需要RequestedBurnsID原始的东西并在我的创建视图中使用。

CREATE VIEW [AQB_OB].[GISREQUESTEDBURNS] 
AS

with conditions as 
(SELECT DISTINCT BD.[RequestedBurnsID]
,[ConditionsReasonsID] = STUFF((SELECT ', ' + CONVERT(VARCHAR(20),[ConditionsReasonsID]) 
FROM [AQB_OB].[BurnDecisions] WHERE [RequestedBurnsID]= BD.[RequestedBurnsID] 
ORDER BY [RequestedBurnsID] ASC
FOR XML PATH ('')) , 1 , 1, '') FROM
[AQB_OB].[BurnDecisions] BD)

SELECT RB.[RequestedBurnsID] AS REQUESTEDBURNID
  ,BUY.[BurnYear] AS BURNYEAR
  ,CY.[CurrentYear] AS CURRENTYEAR
  ,RB.[BurnSitesID] AS BURNSITESID
  ,[BurnerID] AS BURNERID
  ,[BurnStartDate] AS BURNSTARTDATE
  ,[BurnEndDate] AS BURNENDDATE
  ,[BurnDecision] AS BURNDECISION
  ,RB.[Comment] AS COMMENT
  ,CC.ConditionsReasonsID AS CONDITIONS

  FROM [AQB_MON].[AQB_OB].[RequestedBurns] RB
 inner join AQB_MON.[AQB_OB].[BurnSites] BS on RB.BurnSitesID = BS.BurnSitesID
full outer join  conditions CC on CC.RequestedBurnsID = RB.RequestedBurnsID 
INNER JOIN [AQB_OB].[ConditionsReasons] CR ON CR.ConditionsReasonsID = CC.ConditionsReasonsID
GO

更新 - 我的两个表的表结构 - BurnDecision 和 ConditionsReasons。我需要它,SELECT DISTINCT因为它与 RequestedBurnes 相关联,因为它是创建视图的表。

在此处输入图像描述

更新 - 原始 sql 语句的结果。我希望条件列中的整数是条件原因表中的字符串描述。

在此处输入图像描述

4

0 回答 0