[Technical Issue] MS SQL - Използване на променливи в SELECT statement
Здравейте, колеги,
Имам следното затруднение - опитвам се да изтегля от няколко бази/сървъри (MS SQL) еднакви данни от еднакви таблици и да ги обединя с UNION.
Въпросът е в това, че става много дълго и нечетливо, когато се теглят 10 колони, които се описват във всеки SELECT.
Та, мисълта ми е да се направи променлива, в която да се забие списъка с колони като стринг и след това вместо това:
SELECT col01, col02, ..., col10 FROM table1 UNION SELECT col01, col02, ..., col10 FROM table2 UNION ... SELECT col01, col02, ..., col10 FROM table32
да се получи следното:
DECLARE @my_var nvarchar(500); SET @my_var = 'col1, col2, ..., col10'; SELECT @my_var FROM table1 UNION SELECT @my_var FROM table2 UNION ... SELECT @my_var FROM table2
Но, тази заявка връща една колона със съдържанието на @my_var като стринг (който е 'col1, col2, ..., col10') за всеки ред. Т.е., не използва стойността на променливата като дефиниция за SELECT, а я използва само като стринг.
Ако някой има идея или направо знае как се прави, моля да сподели.
Благодаря предварително!
Поздрави,
Пламен