我需要一個select語句,在其from子句中運行另一個select語句,並且結果(只有一條記錄)是外層的表名選擇。在tsql中重複使用from子句中的無exec或存儲過程
爲此,我不能使用存儲過程,exec或@變量。
此外,查詢文件必須以'select'開始並僅包含該語句。
我知道有更好的方法來完成最終結果,但供應商的嚮導查詢必須通過嗅探除單個select語句之外的其他任何東西。它令人沮喪,但這就是我們必須合作的。
這裏是什麼,我試圖做一個例子:
select
plan.TransactionID,
plan.PlanName,
sum(plan.Value) as Rate
from
(select 'dbo._Result' + ltrim(str(CalculationID)) from dbo.Calculation where Name =
'TPRL Transaction Plan Rates'
) Plan
當然,這是行不通的。然而,無論是做這個的:
select
plan.TransactionID,
plan.PlanName,
sum(plan.Value) as Rate
from
exec(select 'dbo._Result' + ltrim(str(CalculationID)) from dbo.Calculation where Name = 'TPRL Transaction Plan Rates') Plan
雖然,這本身並拉回來我想表到結果集:
exec(select 'dbo._Table' + ltrim(str(CalculationID)) from dbo.Calculation where Name = 'TPRL Transaction Plan Rates')
所有我需要爲它做的是治療結果作爲從上面的文字(如在,宏替代),但它不以這種方式工作。
在tsql有沒有辦法做到這一點?
感謝RBarry_Young。我以前很怕那個。我在過去通過AQT parms以及@ variables和exec()完成了#1。它在這個特定的軟件中是不可能的。大聲笑,我很樂意嘗試#2,儘管我可能會因爲嘗試而被灌輸。然後再次,如果它可以工作,我可能會得到加薪。 – jetatwork