我有一个创建视图,我正在使用STUFF
函数。我让它工作的地方需要一个表中的一个字段并填充它。但是这些值是int,并且在另一个表中有相应的描述。所以我的东西字段中有“4,5”,我希望它是“这是#4描述,这是#5描述”。我的创建视图和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语句生成结果。我希望Conditions列中的整数是来自ConditionsReasons表的字符串描述。