0

我很困惑我创建了一个在 int 上使用 STUFF 函数的视图。它正在工作,但是我不得不放下我的桌子并重新加载它,现在我的视图不起作用。我收到以下错误Conversion failed when converting the nvarchar value ' 5, 4' to data type int.。我从上次使用的同一个插入脚本加载表,并添加了一个不应该产生影响的字段。我的创建视图脚本如下:

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
  ,[Contact] AS CONTACT
  ,[Latitude] AS LATITUDE
  ,[Longitude] AS LONGITUDE
  ,[BurnStartDate] AS BURNSTARTDATE
  ,[BurnEndDate] AS BURNENDDATE
  ,RB.[NumberPiles] AS NUMBERPILES
  ,[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
 inner join AQB_MON.[AQB_OB].[Contacts] CT on RB.ContactsID = CT.ContactsID
 inner join AQB_MON.[AQB_OB].[BurnProject] BP on BP.BurnProjectID = BS.BurnProjectID
 inner join AQB_MON.[AQB_OB].[BurnYears] BUY on BUY.BurnYearID = BP.BurnYearID
 inner join AQB_MON.[AQB_OB].[CurrentYear] CY on CY.CurrentYearID = BUY.CurrentYearID
 full outer join  conditions CC on CC.RequestedBurnsID = RB.RequestedBurnsID 
 INNER JOIN [AQB_OB].[ConditionsReasons] CR ON CR.ConditionsReasonsID = CC.ConditionsReasonsID
GO
4

0 回答 0