0

SQLストアドプロシージャにクエリがあります。そのIDから他のクエリからレコードを取得したいのですが、どうすればいいですか。

SELECT t.Name ,t.CreatedDate ,t.CreatedBy , t.Amount
      ,t.Margin ,t.Probability ,t.Id 
FROM (SELECT a = 1) a 
CROSS JOIN 
    (SELECT 
        Name = HirschInternational_MSCRM.dbo.SalesOrderBase.Name 
       ,CreatedDate=HirschInternational_MSCRM.dbo.SalesOrderBase.CreatedOn 
       ,CreatedBy=HirschInternational_MSCRM.dbo.SystemUserBase.FullName
       ,Amount = totalamount 
       ,Probability=CloseProbability 
       ,Id=SalesOrderId
       ,Margin=(SELECT ( ISNULL( ((Sum(Price)-Sum(CurrentCost)) / NULLIF( Sum(Price), 0 ))*100, 0 ) ) 
                FROM HirschInternational_MSCRM.dbo.ProductBase 
                JOIN HirschInternational_MSCRM.dbo.SalesOrderDetailBase 
                  ON HirschInternational_MSCRM.dbo.SalesOrderDetailBase.ProductId = HirschInternational_MSCRM.dbo.ProductBase.ProductId 
                JOIN HirschInternational_MSCRM.dbo.SalesOrderBase 
                  ON HirschInternational_MSCRM.dbo.SalesOrderBase.SalesOrderId = HirschInternational_MSCRM.dbo.SalesOrderDetailBase.SalesOrderId)
     FROM HirschInternational_MSCRM.dbo.SalesOrderBase 
     JOIN HirschInternational_MSCRM.dbo.OpportunityBase 
       ON HirschInternational_MSCRM.dbo.SalesOrderBase.Opportunityid = HirschInternational_MSCRM.dbo.OpportunityBase.Opportunityid 
     JOIN HirschInternational_MSCRM.dbo.SystemUserBase 
       ON HirschInternational_MSCRM.dbo.SystemUserBase.SystemUserId = HirschInternational_MSCRM.dbo.SalesOrderBase.CreatedBy
    WHERE YEAR(HirschInternational_MSCRM.dbo.SalesOrderBase.CreatedOn)=YEAR(GETDATE())

必要なすべてのレコードからマージンが必要です 出力のように ここに画像の説明を入力

4

2 に答える 2

0

あなたが望むものは完全には明らかではありませんが、次のようなものを探しているかもしれません

select *
from (your SQL SELECT statement goes here) t1
where id = ?;
于 2013-07-02T10:55:06.780 に答える