Consulta dupla SQL na mesma tabela
Boa tarde,
Sou novo no fórum e tambem em programação SQL, no entanto não desisto de procurar soluções e tentar aprender cada vez mais e melhor.
Venho aqui pedir ajuda sobre o seguinte assunto:
Estou trabalhando com Access e a tabela em questão apresenta as operações realizadas (tempo de trabalho) no caso de ter interrupção, a interrupção tem a durabilidade desde o fim da operação até ao inicio da proxima operação
Então sobre esta tabela, faço a seguinte pesquisa para saber, quantas interrupções tenho e a que horas interromperam:
Dei o nome de "Inicio_interrupcoes"
SELECT dbo_opr.cod_gpt, dbo_opr.cod_pt, dbo_opr.un_pt,
dbo_opr.data_ini, dbo_opr.data_fim, dbo_opr.cod_interrup, *
FROM dbo_opr
WHERE (((dbo_opr.cod_interrup) Is Not Null));
Este comando, executa corretamente, retornando todos os registos em que cod.interrup seja não nulo.
Seguindo agora o código onde preciso milagrosamente de ajuda:
SELECT inicio_interrupcoes.cod_gpt, inicio_interrupcoes.cod_pt, inicio_interrupcoes.un_pt,
inicio_interrupcoes.data_fim, inicio_interrupcoes.cod_interrup
FROM dbo_opr
INNER JOIN inicio_interrupcoes ON (dbo_opr.cod_gpt = inicio_interrupcoes.cod_gpt) AND (dbo_opr.cod_pt = inicio_interrupcoes.cod_pt)
GROUP BY inicio_interrupcoes.cod_gpt, inicio_interrupcoes.cod_pt, inicio_interrupcoes.un_pt,
inicio_interrupcoes.data_fim, inicio_interrupcoes.cod_interrup, dbo_opr.data_ini
HAVING (((dbo_opr.data_ini)>[inicio_interrupcoes].[data_fim]));
Passando agora a explicar o que preciso:
Na primeira consulta "Inicio_Interrupcoes" pesquiso todas os registos que contenham o campo "cod_interrup" preenchido.
Na segunda consulta respeitando os campos "cod_gpt" e "cod_pt", pretendo obter a data de inicio da proxima operação que nesta consulta representa o fim da interrupção.
Segue exemplo básico:
considerem linha 2 e linha 3 da imagem:
Linha 2 representa produção -> Inicio = 10/01/2019 08:21:13
Fim = 10/01/2019 12:54:30
Como o registo tem "Cod_interrup" considero que "10/01/2019 12:54:30" representa o inicio da interrupcão e o proximo inicio neste caso "10/01/2019 14:04:53" será o fim da interrupção e inicio da Produção.
Alguem me pode dar uma força neste assunto?
Obrigado, ficarei muito grato.
Discussão (0)
Carregando comentários...