Em minha consulta uso o CASE e concatenação de texto com um campo (trecho em Azul).
O objetivo é construir uma mensagem final amigável. Mas preciso que o resultado disso seja "pesquisável" usando LIKE.
SELECT AcoesPreferenciais.Id, AcoesPreferenciais.CodigoServico, AcoesPreferenciais.ModoDeArmazenamento, AcoesPreferenciais.CodigoProprietario, AcoesPreferenciais.DataCad, ServicoAlias, BD.dbo.Servico.ServicoIcone, BD.dbo.Servico.ServicoPasta, FuncionalidadesDeServico.Descricao, (CASE WHEN BD.dbo.FuncionalidadesDeServico.CodigoComandoDeServico = '1' THEN 'Criar item em ' + ServicoAlias ELSE CASE WHEN BD.dbo.FuncionalidadesDeServico.CodigoComandoDeServico = '4' THEN 'Ir para ' + ServicoAlias ELSE CASE WHEN BD.dbo.FuncionalidadesDeServico.CodigoComandoDeServico = '5' THEN 'Ver dados em ' + ServicoAlias END END END) AS Msg , BD.dbo.FuncionalidadesDeServico.Pagina FROM AcoesPreferenciais INNER JOIN BD.dbo.FuncionalidadesDeServico ON AcoesPreferenciais.CodigoAreaDoServico = BD.dbo.FuncionalidadesDeServico.CodigoComandoDeServico AND AcoesPreferenciais.CodigoServico = BD.dbo.FuncionalidadesDeServico.CodigoServico INNER JOIN BD.dbo.Servico ON BD.dbo.FuncionalidadesDeServico.CodigoServico = BD.dbo.Servico.ServicoCod WHERE (AcoesPreferenciais.ModoDeArmazenamento = 'True') AND (AcoesPreferenciais.CodigoProprietario = 'id') AND ((BD.dbo.FuncionalidadesDeServico.CodigoComandoDeServico = 1) OR (BD.dbo.FuncionalidadesDeServico.CodigoComandoDeServico = 4) OR (BD.dbo.FuncionalidadesDeServico.CodigoComandoDeServico = 5)) AND (Msg LIKE '%string_de_pesquisa%') ORDER BY Msg
Preciso fazer com que o LIKE funcione para pesquisar pelo "pseudo campo" Msg.
Da forma que está acima, não funciona.
Como faço?
Obrigado.