Um breve SELECT na tabela mostra os Status e a data e hora que a proposta exemplo entrou. Basicamente preciso gerar o TEMPO DE VIDA da proposta em cada status.
SELECT DISTINCT A.PropostaID, A.Status, A.Descricao_Status, A.Data_Hora_Criacao [Entrada], B.Data_Hora_Criacao [Saida], CASE WHEN A.Data_Hora_Criacao is null then 0 else datediff(DAY,A.Data_Hora_Criacao, B.Data_Hora_Criacao) end AS timedifference FROM [MarketclubAnalitico].[DS].[DS_Marketclub_FATO_Status_Proposta_Atual] A JOIN [MarketclubAnalitico].[DS].[DS_Marketclub_FATO_Status_Proposta_Atual] B ON B.PropostaID = ( SELECT MIN(B2.PropostaID) FROM [MarketclubAnalitico].[DS].[DS_Marketclub_FATO_Status_Proposta_Atual] B2 WHERE B2.PropostaID>A.PropostaID AND B2.Data_Hora_Criacao < A.Data_Hora_Criacao ) WHERE A.Data_Hora_Criacao < B.Data_Hora_Criacao AND A.PropostaID = 5437 ORDER BY A.PropostaID,A.Data_Hora_Criacao, B.Data_Hora_Criacao ASC
Pergunta
markevisbkp
Galera conseguem me ajudar com esse SQL aqui:
Um breve SELECT na tabela mostra os Status e a data e hora que a proposta exemplo entrou. Basicamente preciso gerar o TEMPO DE VIDA da proposta em cada status.
SELECT [PropostaID]
,[Status]
,[Descricao_Status]
,[Data_Hora_Criacao]
,[Excluido]
FROM [MarketclubAnalitico].[DS].[DS_Marketclub_FATO_Status_Proposta_Atual]
WHERE PropostaID =5437
ORDER BY Data_Hora_Criacao ASC
PropostaID Status Descricao_Status Data_Hora_Criacao
5437 30 Análise de crédito enviada 2022-07-13 19:10:37.030
5437 1 Crédito aprovado - Aguardando Documentação 2022-07-13 19:50:56.470
5437 5 Documentação enviada 2022-07-14 17:24:43.570
5437 9 Documentação aprovada 2022-07-15 19:30:58.680
5437 28 Crédito liberado 2022-07-15 19:36:41.490
SELECT DISTINCT A.PropostaID,
A.Status,
A.Descricao_Status,
A.Data_Hora_Criacao [Entrada],
B.Data_Hora_Criacao [Saida],
CASE WHEN A.Data_Hora_Criacao is null
then 0
else datediff(DAY,A.Data_Hora_Criacao, B.Data_Hora_Criacao) end AS
timedifference
FROM [MarketclubAnalitico].[DS].[DS_Marketclub_FATO_Status_Proposta_Atual] A
JOIN [MarketclubAnalitico].[DS].[DS_Marketclub_FATO_Status_Proposta_Atual] B
ON B.PropostaID = ( SELECT MIN(B2.PropostaID) FROM
[MarketclubAnalitico].[DS].[DS_Marketclub_FATO_Status_Proposta_Atual]
B2 WHERE B2.PropostaID>A.PropostaID AND B2.Data_Hora_Criacao <
A.Data_Hora_Criacao )
WHERE A.Data_Hora_Criacao < B.Data_Hora_Criacao AND A.PropostaID = 5437
ORDER BY A.PropostaID,A.Data_Hora_Criacao, B.Data_Hora_Criacao ASC
Meu SQL acima esta produzindo esse resultado:
PropostaID Status Descricao_Status Entrada Saida timedifference
5437 1 Crédito aprovado - Aguardando Documentação 2022-07-13 19:50:56.470 2022-07-13 20:03:06.750 0
5437 1 Crédito aprovado - Aguardando Documentação 2022-07-13 19:50:56.470 2022-07-18 19:13:08.260 5
5437 5 Documentação enviada 2022-07-14 17:24:43.570 2022-07-18 19:13:08.260 4
5437 9 Documentação aprovada 2022-07-15 19:30:58.680 2022-07-18 19:13:08.260 3
5437 28 Crédito liberado 2022-07-15 19:36:41.490 2022-07-18 19:13:08.260 3
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.