2013-04-15 80 views
0

嗨如何從已執行的查詢中進行選擇?似乎無法得到它的工作。從已執行的查詢中選擇

我有以下幾點:

declare @query = 
    ' 
    declare @variable 
    select name from accounts where @variable=blah blah blah 
    ' 

那麼下面我有我的存儲過程下面的語句,

select id from table where name in (exec(@query)) 

因爲它給了我一個錯誤我不能使用子查詢。我不認爲聲明變量上的子查詢

+0

你所使用的數據庫系統? –

回答

0

使用

select id from table where name in(select name from accounts where blah blah) 
+0

原始查詢並不完全像這樣。我只是簡化了它。我需要從查詢的執行中進行選擇。我上面做錯了什麼? – edsamiracle

+0

@aedz - 即使原始查詢不像上面那樣,您可以使用以下方法。或者你可以使用連接。要寫連接查詢我需要知道你的表結構 –

0

工作,你可以使用Sub-Query

select id from table 
where name in 
      (select name from accounts where blah blah) 

執行上面的查詢,並不管複雜怎麼是你Sub-Query ,它會給出結果

+0

我這樣做的原因是因爲我不認爲聲明變量在子查詢的工作。還是我錯了? – edsamiracle

0

解決它使用FF

exec sp_executesql @query, N'@body varchar(max) output', @body = @result output