Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Hur man hittar försvunna Records Använda SQL

    Frånvaro av efterfrågade data tyder bara tillfället inte närvarande . En saknad rekord , dock är data som kan eller bör finnas , men är det inte. Till exempel , kunduppgifter och beställningar bor i tabeller Kunder och Order . En kund lista begärs , och ni , programmerare , antar varje kund har en order . Erbjuda sina kunder från köp bör ge rätt kundlistan , men hur? Listar kunder från kunder kan ge mer , vilket tyder på att vissa kunder har saknade order . Du måste avgöra vilka kunder som saknar order och sedan förstå om denna omständighet är avsiktligt eller en bugg . Instruktioner
    1

    Visa distinkta kunder i tabellen Kunder. Till exempel :

    SELECT DISTINCT C.CUSTOMERIDFROM KUNDER C
    2

    Display distinkta kunder i tabellen Order . Till exempel :

    SELECT DISTINCT O.CUSTOMERIDFROM BESTÄLLER O
    3

    Bestäm kunder med saknade order genom att kombinera steg 1 och 2 i en korrelerad underfråga
    < p . > SELECT DISTINCT C.CUSTOMERIDFROM KUNDER CWHERE NOT EXISTS ( SELECT * FROM ORDER OWHERE O.CUSTOMERID = C.CUSTOMERID ) katalog

    existerar är en Oracle -funktion som testar för förekomsten av returnerade delfråga register . Prefacing med "NOT" tester för avsaknad av register . Här matchar underfråga kunder i båda tabellerna . Matcher ger resultat , vilket skulle utesluta dem matchade Kundnr : s från den huvudsakliga resultatet. Endast customerId s utan O.CUSTOMERID match skulle visas .
    4

    Alternativt bestämmer saknade poster från en sammansatt bild av cusotmer och tabeller Order. SELECT DISTINCT C.CUSTOMERIDFROM KUNDER C

    , bESTÄLLER OWHERE C.CUSTOMERID = O.CUSTOMERID ( + ) och O.CUSTOMERID är null
    p Om du misstänker att Order tabellen kan saknas register , försök sedan denna fråga för att visa C.CUSTOMERID och O.CUSTOMERID sidan vid sida. Den ( + ) åberopar en vänster yttre koppling , som berättar Oracle att visa alla matchande data från WHERE uttalande plus eventuella C.CUSTOMERID är från den vänstra tabellen som inte har någon matchande O.CUSTOMERID 's på höger sida bordet .

    Om det finns C.CUSTOMERID 's med ingen matchande O.CUSTOMERID ' s , kommer de att visa med null-värden för obefintlig O.CUSTOMERID 's . Raderna med sådana nollor representerar de saknade beställer rekord .
    P Om listan är för lång för visuell inspektion , den andra där sats säkerställer resultaten är begränsade till C.CUSTOMERID 's med saknade order .
    Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man använder CSCRIPT att skapa en webb - baserad d…
    ·Common Application Programming Interface
    ·Konvertera Joomla K2
    ·Hur att logga ut från Webdav
    ·Hur Referens ett kalkylblad i VBA
    ·Så här visar du en bild på Grid View
    ·Köer och Stacks Explained
    ·Konvertera Octal till binär
    ·Konvertera ett underformulär till en listruta
    ·IDE Debugging Tools
    Utvalda artiklarna
    ·Hur bli av AppleScript fel
    ·Hur Validera en textruta
    ·Hur Automatisera ett mail via Telnet
    ·Jag kan inte öppna min Output File
    ·Visual Basic datatyper
    ·Hur man gör en knapp på VB
    ·Hur man upptäcker operativsystem med JavaScript
    ·Hur man skapar en webbtjänst som använder Axis
    ·Hur man ansluter VB.NET Med Oracle
    ·Den Python Strip Funktion
    Copyright © Dator Kunskap http://www.dator.xyz