Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com problema para resolver uma solução que estou necessitando. Toda ajuda será bem-vinda!
Tenho uma tabela onde há vários registros com um mesmo IDENTIFICADOR e vários INDENTIFICADORES diferentes em uma mesma coluna.
Como percorrer os registros de uma tabela, com base nos IDENTIFICADORES?
Preciso também analisar um período por data (>= e <=) e ABSTRAIR deste período o valor MIN e MAX de uma outra coluna
Esta consulta precisa ser realizada em cada IDENTIFICADOR DISTINTO?
Já utilizei o BETWEEN, mas ao usar o código com o foreach() no PHP ele lê apenas um registro.
O código que estou trabalhando é este:
SELECT conf_hidro_inatividade,
cons_reg_ident_iot,
cons_data,
MIN(cons_leitura_atual),
MAX(cons_leitura_atual),
hidro_valvula,
hidro_cliente
FROM tab_conf_hidro, tab_consumo
INNER JOIN tab_hidrometros ON cons_reg_ident_iot = hidro_ident_iot
WHERE cons_reg_ident_iot = '20220701001'
and conf_hidro_inatividade = 'sim'
and hidro_valvula = 'aberta'
and cons_data BETWEEN '2022-10-10' and '2022-10-13';
Com:
SELECT conf_hidro_inatividade,
cons_reg_ident_iot,
cons_data,
cons_leitura_atual,
hidro_valvula,
hidro_cliente /*(sem o MIN e MAX na mesma coluna)*/
WHERE cons_reg_ident_iot != ' '
and conf_hidro_inatividade = 'sim'
and hidro_valvula = 'aberta';
usando dentro do foreach(), percorre todos os registros.Não sei se entendi o problema , como disse o @tetsuo um exemplo vai ajudar.
Creio que falte o "group by" na 1ª query
Entenda que é difícil sem conhecer o modelo e os dados.
Baseado nessa tabela
tbhidro
id hidrometro periodo consumo_m3
1 1 202211 5
2 1 202212 10
3 2 202211 5
4 2 202212 15
dá para fazer várias perguntas diretamente no MySQL.
Se o seu chefe pede para fazer um romaneio para a equipe procurar um possível vazamento, você usa esse comando:
select hidrometro, max(consumo_m3) from tbhidro where periodo='202212'
Você não precisa do PHP para obter esse tipo de informação, a menos que você precise publicar a informação na internet.
Note que nessa tabela eu criei o campo id, eu defini como chave primária. Essa é uma exigência do MySQL para poder relacionar com outras tabelas. Quanto mais MySQL você dominar, mas rápido você conseguirá obter a informação que você precisa.
Olá!
Se puder, coloque no https://dbfiddle.uk/urDAXga7 pra gente tentar te orientar.