Vraag : De geheimzinnige Vraag van de Toegang

Overzicht
Ik ben een kwestie met een vraag tegengekomen van de Toegang die ik door andere Deskundigen zou willen in werking stellen.  Ik heb reeds een alternerende actie, zodat ben ik niet geinteresseerd in dat. Wat ik zoek is een verklaring of één of ander inzicht beter om te begrijpen waarom de vraag niet zoals verwacht werkt.

De vraag
YOURTABLE bent de enige lijst bent geïmpliceerd�.  Het heeft een kolom van identiteitskaart die de primaire sleutel en EmployeeID is, whiich ook wordt vereist. Het heeft ook vele facultatieve kolommen, maar om deze vraag te vereenvoudigen ik alles behalve drie heb geëlimineerd.

Een werknemer kan veelvoudige verslagen hebben.  Elk verslag kan nul-aan-allen van de facultatieve bevolkte gebieden hebben.  Bevolkt niet die zijn of ongeldig of bevatten een leeg koord.

Ik wil de vraag 1 rij per werknemer terugkeren.  Wanneer een werknemer veelvoudige verslagen heeft, wil ik met de meest facultatieve bevolkte gebieden.  Wanneer er een band is, wil ik met de hoogste primaire sleutel.

Mijn Benadering
Ik gebruik genestelde vragen om de resultaten te veroorzaken.  YOURTABLECOUNT keert elke rij met een extra kolom terug die de facultatieve gebieden telt.  YOURMAXCOUNT keert enkel de rijen met de meest facultatieve die gebieden terug voor elke werknemer worden bevolkt.  Allebei van die vragen werken boete.  

Nochtans, veroorzaakt YOURMAXCOUNT veelvoudige rijen voor de zelfde werknemer.  Dat wordt verwacht wanneer er banden op de hoogste bevolkte gebiedstelling zijn. QUERY1 is een poging om te elimineren de banden door de hoogste primaire sleutel van onder de banden te selecteren.


Het probleem
Ik verwacht dat QUERY1 terugkeert 1 rij voor elke werknemer gebruikend gecorreleerde sub-query. Maar het keert totaal slechts 1 rij terug alsof het correlatiedeel wordt genegeerd. In plaats van het terugkeren van de hoogste primaire sleutel van ONDER de BANDEN voor de zelfde werknemer, keert het slechts de hoogste primaire sleutel OVER de VOLLEDIGE LIJST terug.

Ik kreeg de verwachte resultaten in QUERY2, eenvoudig door verschillende lijstaliassen te gebruiken dan QUERY1.   Schijnt als dat zou moeten niet van belang zijn, maar het schijnt aan.

Ik werd ook de verwachte resultaten in QUERY3 met de originele lijstaliassen maar gebruiken treedt in plaats van gecorreleerde subquery toe.

Het gegevensbestand van de Test
Ik realiseer dit een omslachtige vraag is; het wordt het best begrepen door het testgegevensbestand te bekijken in bijlage.   BTW, heb ik het probleem in zowel .mdb als.accdb- dossier die Toegang 2007 gebruiken.

Vragen
1.  Waarom keert QUERY1 1 rij terug in plaats van 1 rij per werknemer?
2.  Waarom veranderend aliassen een verschil maken indienen?












 

 
Gehechtheid:
 
De geheimzinnige Test van de Vraag
 

Antwoord : De geheimzinnige Vraag van de Toegang

De androïde 2.0 upwards steunen mutiple ruilen rekeningen: -

http://developer.android.com/sdk/android-2.0-highlights.html


Andere oplossingen  
 
programming4us programming4us