2015-04-10 2 views
1

Мне нужно выбрать из таблицы, но я не знаю ее имени вверх. Поэтому сначала я должен получить свое название:SELECT из имени таблицы, хранящейся в строке

select @table_name = 
    convert(varchar(100), (select TOP 1 AnalysisTargetSID 
          from M68_DSResult..tAnalysisTarget))+ 
    '_c1_LOSS_StagingLocation' 

Этот запрос дает мне строку - 1627_c1_LOSS_StagingLocation

А потом я хочу, чтобы выбрать из этой таблицы:

select * from [- 1627_c1_LOSS_StagingLocation] 
+0

Я не совсем понимаю, чего вы хотите достичь, Вы хотите выполнить запрос, содержащийся в строке? Можете ли вы привести пример того, что вы хотите выполнить? В чем проблема? Какие результаты вы получаете и как они отличаются от того, что вы хотите? – Dzyann

+0

Я хочу, чтобы выбрать * из abcd_1627_c1_LOSS_StagingLocation_abcd в основном – VASISTA

+0

и часть имени таблицы abcd_1627_c1_LOSS_StagingLocation_abcd я получаю от - выберите обращенного (VARCHAR (100), (выбрать TOP 1 AnalysisTargetSID из M68_DSResult..tAnalysisTarget)) + '_c1_LOSS_StagingLocation', который является 1627_c1_LOSS_StagingLocation – VASISTA

ответ

1

Просто построить это заявление и передать до EXEC:

EXEC('select * from [' + @table_name + ']') 
Смежные вопросы