Programação  
 
Conhecimento computador >> Programação >> Programação De Computador Idiomas >> 
Como encontrar ausente registros usando SQL
Ausência de dados consultados só não sugere atualmente presente. Um registro faltando , no entanto, é um dado que poderia ou deveria estar presente, mas não é. Por exemplo, detalhes do cliente e as ordens residem em tabelas Customers e Orders . A lista de clientes é solicitado, e você, o programador, assumem cada cliente tem uma ordem. Oferecer aos clientes a partir de encomendas deverão fornecer a lista de clientes correctas, mas não é? Listagem de clientes de clientes podem render mais , sugerindo alguns clientes faltando ordens. Você deve saber que os clientes estão faltando ordens e , em seguida, entender se esta circunstância é por design ou um bug. Instruções
um

Apresentar clientes distintos na tabela CLIENTES . Por exemplo :

Selecione CLIENTES C.CUSTOMERIDFROM DISTINTAS C
2

Apresentar clientes distintos em ordens de mesa. Por exemplo :

Selecione ORDENS O.CUSTOMERIDFROM DISTINTAS O
3

Determinar clientes com encomendas em falta através da combinação de etapas 1 e 2 em uma subconsulta correlacionada
Selecionar CLIENTES C.CUSTOMERIDFROM DISTINTAS CWHERE NÃO EXISTE (SELECT * FROM pEDIDOS OWHERE O.CUSTOMERID = C.CUSTOMERID )

EXISTE é uma função do Oracle que testa a existência de registros subconsulta retornou . Prefaciando com "e não" os testes para a ausência de registros. Aqui , a subconsulta corresponde clientes em ambas as tabelas . Jogos retornar resultados , o que exclui os que combinava CUSTOMERID da do principal conjunto de resultados. Só CUSTOMERID Com páreo O.CUSTOMERID seria exibido .
4

Alternativamente, determinar registros perdidos a partir de uma visão composta de cusotmer e mesas ordem.

Selecionar os clientes C.CUSTOMERIDFROM DISTINTAS C , ORDENS OWHERE C.CUSTOMERID = O.CUSTOMERID (+) e O.CUSTOMERID é nulo

Se você suspeitar tabela Order pode ser a falta de registros , em seguida, tentar esta consulta para exibir C.CUSTOMERID e lado O.CUSTOMERID a lado. O (+) invoca uma associação externa à esquerda , que diz Oracle para mostrar todos os dados correspondentes da instrução WHERE mais qualquer C.CUSTOMERID ' s da tabela da esquerda que não têm correspondência O.CUSTOMERID ' s na tabela do lado direito.

Se houver C.CUSTOMERID ' s sem O.CUSTOMERID correspondência ' s, eles vão mostrar com valores nulos para a inexistente O.CUSTOMERID ' s . As linhas que possuem tais valores nulos representam os registros de pedidos que faltam.

Se a lista é muito longa para a inspeção visual, a segunda instrução WHERE garante que os resultados são limitados a C.CUSTOMERID ' s com ordens desaparecidas.

Anterior :

Próximo : No
  Os artigos relacionados
·Lista de embutidos SAS Macros 
·Como vincular propriedades de objeto a um FormView 
·Como exibir Wingdings em um teclado 
·As vantagens de Fortran 
·Como matar um trabalho em um lote GNU 
·É Tidy Script Malware 
·Como depurar em DLL 
·Como criar manipuladores de eventos Jquery 
·Como programar em linguagem Basic for um microcontrolad…
·Como adicionar elementos a uma matriz em C- # 
  Artigos em destaque
·Como criar um While Loop em C 
·Como adicionar uma quebra de linha em um String 
·Quais são os benefícios do Adobe Cold Fusion 
·Como mudar o nome do botão Declínio no iPhone 
·Como começar Funções do usuário em Autenticação d…
·Como passar um Vector Container para uma função 
·Como criar um Makefile 
·Como usar uma função GetOpenFileName 
·Como fazer exame ponteiros para inteiros em C + + 
·Como obter um filtro de banda para trabalhar em Labview…
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados