1

作成ビューがあり、STUFF関数を使用しています。1つのテーブルから1つのフィールドを取得して詰め込む場所で動作しています。ただし、これらの値は 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

更新 - 2 つのテーブル - BurnDecision と ConditionsReasons の私のテーブル構造。SELECT DISTINCTビューが作成されるテーブルであるため、 RequestedBurnes に関連付けられている必要があります。

ここに画像の説明を入力

更新 - 元の sql ステートメントの結果。Conditions 列の整数を、ConditionsReasons テーブルの文字列の説明にしたいと思います。

ここに画像の説明を入力

4

0 に答える 0