我有一个创建视图,我正在使用该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 语句的结果。我希望条件列中的整数是条件原因表中的字符串描述。