Sql server 将SQL Server进程转换为视图
我正在尝试将以下SQL代码转换为视图:Sql server 将SQL Server进程转换为视图,sql-server,tsql,stored-procedures,sql-view,Sql Server,Tsql,Stored Procedures,Sql View,我正在尝试将以下SQL代码转换为视图: DECLARE @Date DATE DECLARE @ID INT SELECT @ID = SystemCalendarID, @Date = Date FROM Server2.dbo.SystemCalendar WHERE IsCurrentReportingDay = 'Y' SELECT cp.ClientName + ' (' + CAST(cp.ClientID AS VARCHAR(MAX)) + ')' [Repo
DECLARE @Date DATE
DECLARE @ID INT
SELECT @ID = SystemCalendarID,
@Date = Date
FROM Server2.dbo.SystemCalendar
WHERE IsCurrentReportingDay = 'Y'
SELECT cp.ClientName + ' (' + CAST(cp.ClientID AS VARCHAR(MAX)) + ')' [Reporting point] ,
icp.ClientName + ' (' + CAST(icp.ClientID AS VARCHAR(MAX)) + ')' [Issuer] ,
RTRIM(icp.GroupName) + ' (' + CAST(icp.GroupID AS VARCHAR(MAX)) + ')' [Group] ,
s.ClientName + ' (' + CAST(s.ClientID AS VARCHAR(MAX)) + ')' AS [Site] ,
i.ACCode ,
tr.SourceSystemTradeId ,
tr.SWWR ,
tr.SWWRError ,
tc.SanctionerComment ,
tc.SignOffBy ,
tc.CompletedFlag ,
tc.PreApprovedFlag ,
tc.GenuineWWRFlag ,
tc.TradeCommentsID ,
tc.HistoryID
FROM myapp.SWWR_NonIndex_Trades tr
LEFT JOIN myapp.vwLatestSWWR_NonIndex_TradeComments tc ON tc.SourceSystemTradeID = tr.SourceSystemTradeId
AND tc.IsActive = 1
INNER JOIN myapp.SWWR_NonIndex_TradeAttribs ta ON ta.TradeID = tr.TradeID
AND ta.IsActive = 1
AND ta.MaturityDate >= @Date
AND ta.TradeDate <= @Date
AND ta.ID = @ID
LEFT JOIN Server2.dbo.vwLatestReporting_Client cp ON cp.ClientID = tr.ReportingPointCpartyID
LEFT JOIN Server2.dbo.vwLatestReporting_Client lcp ON lcp.ClientID = tr.LegalEntityID
LEFT JOIN Server2.dbo.vwLatestReporting_Client s ON s.ClientID = tr.SiteID
LEFT JOIN myapp.Issuer i ON i.ACCode = tr.ACCode
AND i.IsLatest = 1
LEFT JOIN Server2.dbo.vwLatestReporting_Client icp ON icp.ClientID = COALESCE(
tr.CreditDerivativeUnderlyingIssuerId ,
i.SDS)
WHERE tr.IsActive = 1
AND tr.SWWR ='Y';
DECLARE@Date
声明@ID INT
选择@ID=SystemCalendarID,
@日期=日期
从Server2.dbo.SystemCalendar
其中IsCurrentReportingDay='Y'
选择cp.ClientName+'('+CAST(cp.ClientID为VARCHAR(MAX))+')'[Reporting point],
icp.ClientName+'('+CAST(icp.ClientID为VARCHAR(MAX))+)'[Issuer],
RTRIM(icp.GroupName)+'('+CAST(icp.GroupID作为VARCHAR(MAX))+'))'[Group],
s、 ClientName+'('+CAST(s.ClientID作为VARCHAR(MAX))+')作为[Site],
i、 照应,
tr.SourceSystemTradeId,
tr.SWWR,
斯沃雷罗,
tc.评论,
tc.签字人,
tc.CompletedFlag,
tc.预先批准的标签,
tc.GenuineWWRFlag,
tc.sid,
历史类群
从myapp.SWWR_NonIndex_Trades tr
在tc.SourceSystemTradeID=tr.SourceSystemTradeID上左键加入myapp.vLatestswwr\u NonIndex\u TradeComments tc
和tc.IsActive=1
内部连接myapp.SWWR\u NonIndex\u TradeAttribs ta ON ta.TradeID=tr.TradeID
和ta.IsActive=1
和ta.到期日>=@日期
这比你想象的要简单
我已经移动你首先选择和做“1=1”类加入
然后你不需要任何变量
CREATE VIEW XXX
AS
SELECT cp.ClientName + ' (' + CAST(cp.ClientID AS VARCHAR(MAX)) + ')' [Reporting point] ,
icp.ClientName + ' (' + CAST(icp.ClientID AS VARCHAR(MAX)) + ')' [Issuer] ,
RTRIM(icp.GroupName) + ' (' + CAST(icp.GroupID AS VARCHAR(MAX)) + ')' [Group] ,
s.ClientName + ' (' + CAST(s.ClientID AS VARCHAR(MAX)) + ')' AS [Site] ,
i.ACCode ,
tr.SourceSystemTradeId ,
tr.SWWR ,
tr.SWWRError ,
tc.SanctionerComment ,
tc.SignOffBy ,
tc.CompletedFlag ,
tc.PreApprovedFlag ,
tc.GenuineWWRFlag ,
tc.TradeCommentsID ,
tc.HistoryID
FROM Server2.dbo.SystemCalendar SC
INNER JOIN myapp.SWWR_NonIndex_Trades tr ON SC.IsCurrentReportingDay = 'Y'
LEFT JOIN myapp.vwLatestSWWR_NonIndex_TradeComments tc ON tc.SourceSystemTradeID = tr.SourceSystemTradeId
AND tc.IsActive = 1
INNER JOIN myapp.SWWR_NonIndex_TradeAttribs ta ON ta.TradeID = tr.TradeID
AND ta.IsActive = 1
AND ta.MaturityDate >= SC.Date
AND ta.TradeDate <= SC.Date
AND ta.ID = SC.SystemCalendarID
LEFT JOIN Server2.dbo.vwLatestReporting_Client cp ON cp.ClientID = tr.ReportingPointCpartyID
LEFT JOIN Server2.dbo.vwLatestReporting_Client lcp ON lcp.ClientID = tr.LegalEntityID
LEFT JOIN Server2.dbo.vwLatestReporting_Client s ON s.ClientID = tr.SiteID
LEFT JOIN myapp.Issuer i ON i.ACCode = tr.ACCode
AND i.IsLatest = 1
LEFT JOIN Server2.dbo.vwLatestReporting_Client icp ON icp.ClientID = COALESCE(
tr.CreditDerivativeUnderlyingIssuerId ,
i.SDS)
WHERE tr.IsActive = 1
AND tr.SWWR = 'Y';
创建视图XXX
作为
选择cp.ClientName+'('+CAST(cp.ClientID为VARCHAR(MAX))+')'[Reporting point],
icp.ClientName+'('+CAST(icp.ClientID为VARCHAR(MAX))+)'[Issuer],
RTRIM(icp.GroupName)+'('+CAST(icp.GroupID作为VARCHAR(MAX))+'))'[Group],
s、 ClientName+'('+CAST(s.ClientID作为VARCHAR(MAX))+')作为[Site],
i、 照应,
tr.SourceSystemTradeId,
tr.SWWR,
斯沃雷罗,
tc.评论,
tc.签字人,
tc.CompletedFlag,
tc.预先批准的标签,
tc.GenuineWWRFlag,
tc.sid,
历史类群
从Server2.dbo.SystemCalendar SC
内部连接myapp.SWWR\u非索引\u在SC.IsCurrentReportingDay交易tr='Y'
在tc.SourceSystemTradeID=tr.SourceSystemTradeID上左键加入myapp.vLatestswwr\u NonIndex\u TradeComments tc
和tc.IsActive=1
内部连接myapp.SWWR\u NonIndex\u TradeAttribs ta ON ta.TradeID=tr.TradeID
和ta.IsActive=1
和ta.到期日>=SC.日期
如果您在得到答案后不删除问题内容,那么ta.TradeDate将很好