Boa tarde galera, faz tempo que não escrevo quick tips para vocês mas agora estou de volta.
Hoje falarei sobre subselects em Firebird, dando uma dica simples de como se fazer, de forma eficiente, um subselect.
Suponhamos que temos a tabela Cliente, com os campos Código e Nome e Classificacao (1-Standard / 2-Premium / 3-Gold) e a tabela Pedido, com os campos NumPedido, CodCliente, ValorTotal.
Cliente - Estrutura
Cliente - Dados
Pedido - Estrutura
Pedido – Dados
Vamos fazer um select para pegar todos os clientes com o total pedido maior ou igual que 750.
Resultado
Beleza, resolvemos nosso problema com um simples join e um having. Agora imagine que tivéssemos que atualizar a classificação para Standard de todos os clientes com total pedido maior que 5000.
Neste caso, como não é possível fazermos join no update no Firebird, basta que façamos um subselect.
É isso aí pessoal... até a próxima quick tip.
Um abraço.
Ricardo Coelho.