Hvordan å gjøre en subselect Query i Access
I alle database applikasjon som bruker Structured Query Language (SQL) for å lage spørringer, er "Velg" søket arbeidshesten. Alt fra enkle utsikt til komplekse tiltrer og beregninger er gjort via variasjoner på Velg spørringen. Under velger eller sub-spørring er rett og slett en utvalgt uttalelse nestet inne i en annen velger søket. Den enkleste måten å bygge og forstå en sub-velger søket er å bygge og kjøre begge deler av spørringen individuelt for å sikre at du har de resultatene du ønsker og deretter kombinere dem i en sub-velger søket. Dette eksemplet vil bygge en spørring for å vise hvilke kunder ikke har kjøpt noe i over 90 dager.
Bruksanvisning
1 Lag en spørring for å velge og vise alle kunder. Å lage noen spørring i Access, klikk på "søk" under Object-menyen, og klikk deretter på "Design" eller "Ny" på menylinjen. Når Query-vinduet åpnes, klikker du på "View" og deretter "SQL View" for å åpne opp et tekstvindu for å gå inn i søket. Skriv inn spørringen, og klikk deretter på den røde utropstegn for å kjøre spørringen.
Syntaksen er som følger:
"Velg Customers.ID, Customers.Company fra kunder"
Dette viser alle kunde IDer og firmanavn i kundens database.
2 Lag en spørring som viser alle bestillinger som har blitt plassert i de siste 90 dagene. Syntaksen for dette søket ser slik ut:
"Velg Orders.OrderID fra bestillinger hvor Orders.CustomerID = Customers.CustomerID og Orders.OrderDate> Date () - 90)
Dette søket vil bare vise "OrderID" felt som har en gyldig kunde-ID-nummer i det, og et salg i løpet av de siste 90 dagene.
3 Lag under velger søket ved å kombinere disse to spørringer.
"Velg Customers.ID, Customers.Company fra kunder der ikke finnes
(Velg Orders.OrderID
fra bestillinger
hvor Orders.CustomerID = Customers.CustomerID
and Orders.OrderDate > Date() - 90)
Denne spørringen, i kraft, viser alt fra den første spørring som ikke er i den andre spørringen. Med andre ord, dette viser alle kunder som ikke har kjøpt noe i de siste 90 dagene. Nøkkelen til sub-select er "der ikke finnes" klausulen.
Hint
- Uavhengig av type eller komplekse spørringen du prøver å bygge, alltid bygge og teste hver del for seg. Dette vil gjøre debugging mye enklere.
- Hvis du bygger spørsmål eller sub-spørringer som er ødeleggende, for eksempel slette eller oppdatere spørringer, alltid teste med en utvalgt spørring først, slik at du er sikker på hva du ber om å slette eller endre.