Array
(
)

Macro Substituição SQL Server

Fabricio Silva
   - 13 ago 2015

Boa tarde pessoal.
Estou com a seguinte duvida.
Como fazer para efetuar uma Macro Substituição no SQL Server.
Por Exemplo:
SELECT 'CAMPO1'
FROM TABELAESCOLHIDA
Gostaria que ele transformace a STRING 'CAMPO1' em um comando, ou seja, que o SQL entendesse que eu gostaria de buscar o conteudo do campo1 e não retornasse a String 'CAMPO1' como resultado.

O select que estou tentando é:
SELECT RA_FILIAL,
RA_CC,
RA_DEPTO,
RC_PD,
RV_DESC,
( 'ZB_NT' + RA_DEPTO)
FROM SRA100
JOIN SRC100 ON ( RC_MAT = RA_MAT )
JOIN SRV100 ON ( RV_COD = RC_PD )
JOIN SZB100 ON ( ZB_COD = RV_COD )
Quero trazer o conteúdo do campo que é formado pela string ( 'ZB_NT' + RA_DEPTO) e não a string somada.
Alguém faz ideia como fazer?

Adeilton Junior
   - 13 ago 2015

Grande Fabrício, podes tentar este exemplo, onde um select traz os campos de departamento concatenando-os às colunas, e montando as cláusulas When;

Logo em seguida podes copiar o resultado e colar no meio do select, que fará o CASE montando o script sql, podes melhorar isto no advpl, onde concatena os resultados.

Desta forma, não precisa ficar modificando a query toda vez que um novo campo for adicionado;

Tente este exemplo. (Clique na imagem para abrir em uma nova janela)