TOTVS - SQL e Relatório
03/01/2017
0
Tenho uma consulta onde ela trata quando o numero de linhas for '0' , ou seja quando o retorno não trouxer nada. Porém está trazendo como se fosse "uma nova consulta" e não continua a consulta anterior, logo dentro do TOTVS não consigo utilizar os dados tratados, somente quando há resultados. uso a consulta em um relatório
Segue o trecho do tratamento (lógico que houve a declaração e set dos dados da variável)
"
SELECT @ROWSCOUNT = @@ROWCOUNT
IF @ROWSCOUNT=0 (
SELECT
SINSTITUICAO.NOME [INSTITUICAO],
REPLACE (SPSPROCESSOSELETIVO.NOMEARQUIVOEDITAL, '.pdf', '') [nomeedital]
FROM SINSTITUICAO
INNER JOIN SPSPROCESSOSELETIVO ON (SINSTITUICAO.CODINST=SPSPROCESSOSELETIVO.CODINST AND IDPS=:idps)
WHERE SINSTITUICAO.CODINST=SPSPROCESSOSELETIVO.CODINST)
"
Há alguma maneira de fazer o resultado sair como " um só" e não como se fosse duas consultas diferentes ?
Chromusmaster
Posts
10/01/2017
Fabiano Carvalho
Tente fazer assim
declare @ROWSCOUNT int select @ROWSCOUNT = @@ROWCOUNT IF @ROWSCOUNT = 0 begin (SELECT SINSTITUICAO.NOME [INSTITUICAO], REPLACE (SPSPROCESSOSELETIVO.NOMEARQUIVOEDITAL, '.pdf', '') [nomeedital] FROM SINSTITUICAO INNER JOIN SPSPROCESSOSELETIVO ON (SINSTITUICAO.CODINST=SPSPROCESSOSELETIVO.CODINST AND IDPS=:idps) WHERE SINSTITUICAO.CODINST=SPSPROCESSOSELETIVO.CODINST) end else begin print 'Entrou no se não, possui registros ' + convert(varchar(10),@ROWSCOUNT) end
11/01/2017
Chromusmaster
Tente fazer assim
declare @ROWSCOUNT int select @ROWSCOUNT = @@ROWCOUNT IF @ROWSCOUNT = 0 begin (SELECT SINSTITUICAO.NOME [INSTITUICAO], REPLACE (SPSPROCESSOSELETIVO.NOMEARQUIVOEDITAL, '.pdf', '') [nomeedital] FROM SINSTITUICAO INNER JOIN SPSPROCESSOSELETIVO ON (SINSTITUICAO.CODINST=SPSPROCESSOSELETIVO.CODINST AND IDPS=:idps) WHERE SINSTITUICAO.CODINST=SPSPROCESSOSELETIVO.CODINST) end else begin print 'Entrou no se não, possui registros ' + convert(varchar(10),@ROWSCOUNT) end
Obrigado pela dica da Tag, não sabia. Ainda assim continuou trazendo "dois resultados" ao invés de trazer como um resultado só. Quando a SQl buscar algum dado em outro banco ele deve ao menos trazer no banco principal o nome da instituição e edital do mesmo. Porém ele traz como se fosse dois resultados distintos e gostaria de saber se há alguma maneira de trazer como um resultado único.
17/01/2017
Chromusmaster
Clique aqui para fazer login e interagir na Comunidade :)