Elaboração de consulta SQL/Firebird

01/05/2024

0

Olá.
Tenho um aplicativo simples para verificar sequencias da Loto Fácil,mas estava precisando elaborar uma consulta no banco de dados que retorne alguns registros onde se repetem 11 sequencias do sorteio,o premio mínimo da Loto Fácil.
A tabela contem o básico,campos "Concurso","Data","B1","B2","B3","B4","B5","B6","B7","B8","B9","B10","B11","B12","B13","B14","B15".
Queria elaborar uma consulta para retornar os registros onde os campos de B1 a B11 tivessem valores iguais.
Agradeço a quem mostrar o caminho.
Vtrx

Vtrx

Responder

Posts

02/05/2024

Arthur Heinrich

select *
from tabela
where
  b1 = b2 and
  b1 = b3 and
  b1 = b4 and
  b1 = b5 and
  b1 = b6 and
  b1 = b7 and
  b1 = b8 and
  b1 = b9 and
  b1 = b10 and
  b1 = b11
Responder

02/05/2024

Arthur Heinrich

Agora, se é para retornar conjuntos de registros que possuem a mesma tupla formada pelas colunas (b1..b11), você precisa identificar os registros repetidos:

select b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11
from tabela
group by b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11
having count(1) > 1


Então, com este resultado, retornar os registros:

select t.*
from
  ( select b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11
    from tabela
    group by b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11
    having count(1) > 1 ) d
  join tabela t
    on t.b1 = d.b1 and
       t.b2 = d.b2 and
       t.b3 = d.b3 and
       t.b4 = d.b4 and
       t.b5 = d.b5 and
       t.b6 = d.b6 and
       t.b7 = d.b7 and
       t.b8 = d.b8 and
       t.b9 = d.b9 and
       t.b10 = d.b10 and
       t.b11 = d.b11
order by b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, concurso

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar