SYSTEMTI.NET

Please or Cadastrar to create posts and topics.

Relatório Personalizado SAC

Bom dia pessoal, estou com dificuldade em uma query para trazer a informação de "motivo" em um relatório personalizado. Não estou achando ligação da tabela SAC_MOTIVO com as outras. Alguém teria algo pronto.

 

obrigado

Citação de RICARCO.CARVALHO em 24/01/2022, 11:20

Bom dia pessoal, estou com dificuldade em uma query para trazer a informação de "motivo" em um relatório personalizado. Não estou achando ligação da tabela SAC_MOTIVO com as outras. Alguém teria algo pronto.

 

obrigado

Bom dia, Ricardo

Nunca realizei consulta desse módulo. Me informa a query que possui que posso verificar via banco as conexões.

Se você deseja apoiar o desenvolvimento do SYSTEMTI.NET, você pode compartilhar algum conteúdo no fórum ou doar. Muito obrigado !

Bom dia Marcos, até agora cheguei nisso, quando tento puxar o motivo ja fica tudo errado. Tem também a questão de ocorrer de ter mais de um motivo, ai seria um listagg.

 

SELECT * FROM SAC_ALTERA_SITUACAO;
SELECT * FROM SAC_CHAMADO_SETOR;
SELECT * FROM SAC_CONTATO_CHAMADO;
SELECT * FROM SAC_DOC_CHAMADO;
SELECT * FROM SAC_HIST_CORRECAO;
SELECT * FROM SAC_MOTIVO;
SELECT * FROM SAC_MOTIVO_SETOR;
SELECT * FROM SAC_RECEPTOR;
SELECT * FROM SAC_RECEPTOR_PARECER;
SELECT * FROM SAC_RESPOSTA_PARECER;
SELECT * FROM SAC_REG_CONTATO_SOLIC;
SELECT * FROM SAC_RESPOSTA;
SELECT * FROM SAC_SOLIC_PARECER;
SELECT * FROM SAC_SOLICITACAO;
SELECT * FROM SAC_SOLICITACAO_TRAN;
SELECT * FROM TIPO_SAC_CHAMADO;
SELECT * FROM TIPO_SAC_CHAMADO_NIVEL;
SELECT * FROM MEIO_SAC_SOLICITACAO;
SELECT * FROM ORIGEM_SAC_SOLICITACAO;
SELECT * FROM SETOR;

SELECT TO_CHAR(SAC_SOLICITACAO.DT_SOLICIDACAO, 'DD/MM/YYYY') DATA,
TO_CHAR(SAC_SOLICITACAO.HR_SOLICITACAO, 'HH24:MI') HORA,
SAC_SOLICITACAO.CD_USUARIO_ABERTURA ABERTO_POR,
SAC_SOLICITACAO.CD_SOLICITACAO,
ORIGEM_SAC_SOLICITACAO.NM_ORIGEM ORIGEM,
MEIO_SAC_SOLICITACAO.NM_MEIO MEIO_ABERTURA,
TIPO_SAC_CHAMADO_NIVEL.NM_NIVEL,
SETOR.NM_SETOR,
SAC_SOLICITACAO.CD_PACIENTE,
PACIENTE.NM_PACIENTE,
Nvl(SAC_SOLICITACAO.SN_FIDELIDADE,'-') AS FIDELIDADE,
Nvl(SAC_SOLICITACAO.SN_SATISFATORIO, '-') AS SATISFATORIO,
Nvl(SAC_SOLICITACAO.TP_TEMPO_RETORNO, 0) AS TEMPO_RETORNO,
Nvl(TO_CHAR(SAC_SOLICITACAO.DT_PREVISAO_RETORNO, 'DD/MM/YYYY'),'-') AS PREVISAO_RETORNO,
Nvl(TO_CHAR(SAC_SOLICITACAO.DT_ENCERRAMENTO, 'DD/MM/YYYY'),'-') AS DT_ENCERRAMENTO
FROM SAC_SOLICITACAO,
ORIGEM_SAC_SOLICITACAO,
MEIO_SAC_SOLICITACAO,
TIPO_SAC_CHAMADO_NIVEL,
SETOR,
PACIENTE
WHERE SAC_SOLICITACAO.CD_ORIGEM = ORIGEM_SAC_SOLICITACAO.CD_ORIGEM
AND SAC_SOLICITACAO.CD_MEIO = MEIO_SAC_SOLICITACAO.CD_MEIO
AND SAC_SOLICITACAO.CD_NIVEL = TIPO_SAC_CHAMADO_NIVEL.CD_NIVEL
AND SAC_SOLICITACAO.CD_SETOR = SETOR.CD_SETOR
AND SAC_SOLICITACAO.CD_PACIENTE = PACIENTE.CD_PACIENTE
ORDER BY CD_SOLICITACAO DESC;

Citação de RICARCO.CARVALHO em 24/01/2022, 11:54

Bom dia Marcos, até agora cheguei nisso, quando tento puxar o motivo ja fica tudo errado. Tem também a questão de ocorrer de ter mais de um motivo, ai seria um listagg.

 

SELECT * FROM SAC_ALTERA_SITUACAO;
SELECT * FROM SAC_CHAMADO_SETOR;
SELECT * FROM SAC_CONTATO_CHAMADO;
SELECT * FROM SAC_DOC_CHAMADO;
SELECT * FROM SAC_HIST_CORRECAO;
SELECT * FROM SAC_MOTIVO;
SELECT * FROM SAC_MOTIVO_SETOR;
SELECT * FROM SAC_RECEPTOR;
SELECT * FROM SAC_RECEPTOR_PARECER;
SELECT * FROM SAC_RESPOSTA_PARECER;
SELECT * FROM SAC_REG_CONTATO_SOLIC;
SELECT * FROM SAC_RESPOSTA;
SELECT * FROM SAC_SOLIC_PARECER;
SELECT * FROM SAC_SOLICITACAO;
SELECT * FROM SAC_SOLICITACAO_TRAN;
SELECT * FROM TIPO_SAC_CHAMADO;
SELECT * FROM TIPO_SAC_CHAMADO_NIVEL;
SELECT * FROM MEIO_SAC_SOLICITACAO;
SELECT * FROM ORIGEM_SAC_SOLICITACAO;
SELECT * FROM SETOR;

SELECT TO_CHAR(SAC_SOLICITACAO.DT_SOLICIDACAO, 'DD/MM/YYYY') DATA,
TO_CHAR(SAC_SOLICITACAO.HR_SOLICITACAO, 'HH24:MI') HORA,
SAC_SOLICITACAO.CD_USUARIO_ABERTURA ABERTO_POR,
SAC_SOLICITACAO.CD_SOLICITACAO,
ORIGEM_SAC_SOLICITACAO.NM_ORIGEM ORIGEM,
MEIO_SAC_SOLICITACAO.NM_MEIO MEIO_ABERTURA,
TIPO_SAC_CHAMADO_NIVEL.NM_NIVEL,
SETOR.NM_SETOR,
SAC_SOLICITACAO.CD_PACIENTE,
PACIENTE.NM_PACIENTE,
Nvl(SAC_SOLICITACAO.SN_FIDELIDADE,'-') AS FIDELIDADE,
Nvl(SAC_SOLICITACAO.SN_SATISFATORIO, '-') AS SATISFATORIO,
Nvl(SAC_SOLICITACAO.TP_TEMPO_RETORNO, 0) AS TEMPO_RETORNO,
Nvl(TO_CHAR(SAC_SOLICITACAO.DT_PREVISAO_RETORNO, 'DD/MM/YYYY'),'-') AS PREVISAO_RETORNO,
Nvl(TO_CHAR(SAC_SOLICITACAO.DT_ENCERRAMENTO, 'DD/MM/YYYY'),'-') AS DT_ENCERRAMENTO
FROM SAC_SOLICITACAO,
ORIGEM_SAC_SOLICITACAO,
MEIO_SAC_SOLICITACAO,
TIPO_SAC_CHAMADO_NIVEL,
SETOR,
PACIENTE
WHERE SAC_SOLICITACAO.CD_ORIGEM = ORIGEM_SAC_SOLICITACAO.CD_ORIGEM
AND SAC_SOLICITACAO.CD_MEIO = MEIO_SAC_SOLICITACAO.CD_MEIO
AND SAC_SOLICITACAO.CD_NIVEL = TIPO_SAC_CHAMADO_NIVEL.CD_NIVEL
AND SAC_SOLICITACAO.CD_SETOR = SETOR.CD_SETOR
AND SAC_SOLICITACAO.CD_PACIENTE = PACIENTE.CD_PACIENTE
ORDER BY CD_SOLICITACAO DESC;

Ricardo, verificando as tabelas consegui chegar a tabela SAC_MOTIVO dessa maneira abaixo. Basta incluir os joins na sua query que obterá sucesso.

select * from SAC_SOLICITACAO ss
inner join sac_chamado_setor scs on ss.cd_solicitacao = scs.cd_solicitacao
inner join SAC_MOTIVO_SETOR sms on sms.cd_sac_parecer_setor = scs.cd_sac_parecer_setor
inner join SAC_MOTIVO sm on sm.cd_sac_motivo = sms.cd_sac_motivo

 

leozappi and andredr_rosario have reacted to this post.
leozappiandredr_rosario
Se você deseja apoiar o desenvolvimento do SYSTEMTI.NET, você pode compartilhar algum conteúdo no fórum ou doar. Muito obrigado !

Opa, show Marcos, vou testar aqui, obrigado

Marcos Soares has reacted to this post.
Marcos Soares
Citação de RICARCO.CARVALHO em 24/01/2022, 12:33

Opa, show Marcos, vou testar aqui, obrigado

Bom dia, @ricarco-carvalho.

Conseguiu finalizar o relatório?

Se você deseja apoiar o desenvolvimento do SYSTEMTI.NET, você pode compartilhar algum conteúdo no fórum ou doar. Muito obrigado !

Opa, boa tarde Marcos, consegui sim, não tenho muito conhecimento ainda de plsql, me ajudou bastante sua query com join. Solucionou aqui pra mim, muito grato, estava travado nisso e o where só trazia informações divengentes.  Agora virei adepto do join kkkk.

Citação de RICARCO.CARVALHO em 25/01/2022, 15:39

Opa, boa tarde Marcos, consegui sim, não tenho muito conhecimento ainda de plsql, me ajudou bastante sua query com join. Solucionou aqui pra mim, muito grato, estava travado nisso e o where só trazia informações divengentes.  Agora virei adepto do join kkkk.

Que bom que conseguiu irmão.

Como sempre digo, se aprender join, union e subquery , 90% dos problemas são resolvidos haha.

Isso ai, não desanima de estudar não. Pra cima!

Se você deseja apoiar o desenvolvimento do SYSTEMTI.NET, você pode compartilhar algum conteúdo no fórum ou doar. Muito obrigado !