Comparația dintre cele două tabele pentru a identifica înregistrările fără potrivire
Uneori doriți să compare două tabele și pentru a identifica una dintre ele înregistrări care nu au înregistrări corespunzătoare în celălalt tabel. Aceste înregistrări sunt cel mai ușor de a găsi utilizând Expertul de interogare pentru a găsi înregistrările care nu au subordonații lor. În cazul în care comandantul formează cererea dumneavoastră, structura poate fi modificată prin adăugarea sau eliminarea câmpurilor sau adăugarea unei adere între două tabele (pentru a indica câmpurile care trebuie să se potrivească). Puteți crea, de asemenea, o interogare pentru a găsi înregistrări care nu au angajați, pe cont propriu, fără ajutorul expertului.
Acest articol descrie cum să executați Expertul interogare pentru a găsi înregistrările care nu au angajați, cum să schimbe rezultatele expertului și modul de a crea o astfel de cerere tine.
Notă: Solicitare Wizard pentru a găsi înregistrări care nu au subordonați, nu este susținută de baze de date și aplicații Web Access Web.
În acest articol,
Atunci când pentru a căuta înregistrările care nu au subordonați
Următoarele sunt două situații obișnuite, în care s-ar putea dori să compare două tabele și pentru a găsi înregistrări care nu au subordonații lor. În funcție de situație, de căutare pentru înregistrările care nu au angajați, ar putea fi primul din mai multe etape necesare. Acest articol discută doar de căutare pentru astfel de înregistrări.
Un tabel este utilizat pentru a stoca date despre obiecte (de exemplu, produse), iar cealaltă masă - depozitarea acțiunii (de exemplu, ordine), în ceea ce privește aceste obiecte.
De exemplu, sunt stocate în tabelul „Produse“ în baza de date șablon de date de produs „Northwind“, precum și datele la care mărfurile sunt incluse într-o anumită ordine - în tabelul „Informații privind comanda“. Din moment ce (conform structurii) comandă nu există date în tabelul „Produse“, pur și simplu nu se poate baza pe masă „Produse“ pentru a stabili elementele nu au fost vândute. Aceste informații, de asemenea, nu pot fi obținute numai pe baza datelor din tabelul „Informații privind comanda“, așa cum arată acest tabel numai datele despre bunurile, care au fost de vânzare. Este necesar să se compare aceste două tabele pentru a determina care elemente nu au fost vândute.
Dacă doriți să obțineți o listă de obiecte din primul tabel, care nu conține măsurile corespunzătoare în al doilea tabel, puteți utiliza expertul pentru a căuta înregistrările de cereri care nu au subordonații lor.
Există două tabele care conțin date care se suprapun, redundante sau inconsistente, și doresc să consolideze aceste tabele într-una singură.
De exemplu, să presupunem că există două tabele care sunt numite „clienți“ și „clienți“. Tabelele sunt practic identice, dar într-una sau ambele dintre ele au înregistrări care nu sunt în alt tabel. Înainte să se alăture tabele, aveți nevoie pentru a determina ce se înregistrează acestea sunt unice.
Dacă vă aflați într-o situație similară, discutată în articol cum a ajuta la rezolvarea acestei probleme, cu toate acestea, trebuie să ia câțiva pași suplimentari. Puteți rula o interogare pe căutare principal pentru înregistrări care nu au subordonații să identifice înregistrările care se potrivesc fără, totuși, utilizați aceste rezultate pentru a crea o interogare uniune pentru a prelua un set de înregistrări combinate. Dacă sunteți familiarizat cu declarațiile SQL, puteți sări căutarea de înregistrări care nu au angajați, și pentru a crea manual o interogare uniune.
De multe ori cu ajutorul a găsi date duplicate în două sau mai multe tabele pot fi rezolvate problema de trecere, redundante sau date contradictorii.
Notă: În exemplele care sunt descrise în acest articol utilizează o bază de date creată folosind o bază de date șablon „Northwind“.
Pentru instrucțiuni privind configurarea bazei de date „Northwind“
Urmați instrucțiunile de pe Northwind (pe ecran fila Saver a obiectului) pentru a deschide baza de date, și apoi închideți fereastra de conectare.
Utilizarea Expertului pentru a compara două tabele
În caseta de dialog Nou, faceți dublu clic pe o cerere de căutare de discuri, fără subordonații.
Pe a doua pagină, selectați tabelul legat, și apoi faceți clic pe Următorul. În exemplul nostru, trebuie să selectați tabelul „Informații privind comanda“.
Vă rugăm să rețineți că câmpurile „ID“ și „ID-ul produsului“ poate fi pre-selectate din cauza relațiilor existente, care sunt construite în șablon.
Pe pagina a patra, dublu-clic pe câmpul dorit din primul tabel, și apoi faceți clic pe Următorul. De exemplu, selectați câmpul „ID-ul“ și „Nume“.
Creați și modificați cererea pentru comparație de mai multe domenii
În caseta de dialog Nou, faceți dublu clic pe o cerere de căutare de discuri, fără subordonații.
Pe a doua pagină, selectați tabelul legat, și apoi faceți clic pe Următorul. În exemplul nostru, trebuie să selectați tabelul „Informații privind comanda“.
Vă rugăm să rețineți că câmpurile „ID“ și „ID-ul produsului“ poate fi pre-selectate din cauza relațiilor existente, care sunt construite în șablon.
Pe pagina a patra, dublu-clic pe câmpul dorit din primul tabel, și apoi faceți clic pe Următorul. De exemplu, selectați câmpul „ID-ul“ și „Nume“.
Pe pagina a cincea, selectați modifica structura de interogare, apoi faceți clic pe Finish.
Solicitare se va deschide în modul de proiectare.
Rețineți că în interogarea martor două tabele sunt combinate în câmpurile specificate în a treia pagină a expertului (în acest exemplu, câmpul „ID-ul“ și „ID-ul produsului“). Crearea uniunii pentru fiecare dintre domeniile asociate pereche rămase trăgându-le din primul tabel (adică, un tabel care conține o înregistrare care are nici un sclav), în al doilea tabel. În exemplul nostru, trebuie să trageți „Prețul de listă“ a tabelului „Produsele“ pe teren masa de „preț per unitate“ „Informații privind comanda“.
Faceți dublu clic pe linia de asociere care leagă domeniu. Deschideți caseta de dialog Opțiuni de asociere. Pentru fiecare asociație pentru a selecta o opțiune care include toate înregistrările din tabelul „Produse“, și apoi faceți clic pe OK.
Formularul de cerere, la sfârșitul fiecărei linii săgeată care combină apare.
1. La crearea asocieri între câmpuri „Prețul de listă“ și „Prețul pe unitate“ este limitată la ieșirea de date a celor două tabele. Rezultatele de interogare sunt incluse înregistrările numai cu aceleași date în ambele domenii de tabele.
2. După schimbarea combinației de proprietăți va fi limitată doar tabelul indicat de săgeată. Toate înregistrările în celălalt tabel sunt incluse în rezultatele căutării.
Notă: Asigurați-vă că toate asociațiile au aceeași direcție de săgeată.
În tabelul cu înregistrările aferente (de exemplu, în tabelul „Informații privind comanda“), dublu-clic pe fiecare domeniu, combinat cu primul tabel, în plus față de câmpul selectat în a treia pagină a expertului (în acest caz - „ID-ul de produs“). Pentru fiecare dintre câmpuri, scoateți bifă din Show, apoi tastați Este valoarea Null în Termenii.
Puteți adăuga, de asemenea, alte condiții pentru câmpurile de interogare sau de a crea câmpuri calculate pe baza valorilor din primul tabel.
Pe fila Design din grupul de rezultate, faceți clic pe Executare.
Solicitare returnează numele produselor care nu sunt disponibile în ordinele existente.
Crearea propriului interogare pentru a găsi înregistrări care nu au subordonați
În caseta de dialog Table, faceți dublu clic pe tabelul în care înregistrările nu sunt subordonați, și apoi faceți clic-dublu tabel cu înregistrările aferente.
Închideți caseta de dialog Afișare Tabel.
Formularul de cerere între domenii conexe trebuie să fie de unificare. În cazul în care nu există, creați-le prin glisare și fixare fiecare domeniu legat de primul tabel (tabelul cu înregistrările care nu au subordonaților) la al doilea (un tabel cu notele aferente).
Faceți dublu clic pe asociație. Deschideți caseta de dialog Opțiuni de asociere. Pentru fiecare combinație, selectați opțiunea 2, apoi faceți clic pe OK.
Formularul de cerere, la sfârșitul fiecărei linii săgeată care combină apare.
Notă: Asigurați-vă că toate asociațiile au aceeași direcție de săgeată. În caz contrar, cererea nu va fi executat. În plus, nu poate fi executată, în cazul în care o linie de asociere nu este o săgeată. Săgețile ar trebui să fie direcționate departe de masă, care are intrări fără subordonați.
Tabelul cu intrări care nu au câmpurile clic subordonate, duble, care trebuie să fie returnate de interogare.
Dacă este necesar, introduceți condițiile pentru oricare dintre aceste domenii, sau pentru a crea câmpuri calculate.
Intrările de masă asociate cu câmp dublu-clic combinat cu primul tabel. Pentru fiecare dintre aceste domenii, scoateți bifă din Show și introduceți valoarea este nulă în Termenii.
Pe fila Design din grupul de rezultate, faceți clic pe Executare.