Question : Question mystérieuse d'accès

Vue d'ensemble
J'ai couru dans une issue avec une question d'accès que je voudrais courir par d'autres experts.  J'ai déjà un work-around, ainsi je ne suis pas intéressé par celui. Ce que je recherche est une explication ou de la perspicacité pour comprendre mieux pourquoi la question ne fonctionne pas comme prévu.

La question
YOURTABLE est la seule table est impliqué.  Il a une colonne d'identification qui est la clé primaire et l'EmployeeID, whiich est également exigé. Il a également beaucoup de colonnes facultatives, mais pour simplifier cette question que j'ai éliminé tout sauf trois.

Un employé peut avoir les disques multiples.  Chaque disque peut avoir le zéro-à-tout des champs facultatifs peuplés.  Tels non peuplées sont nulle ou contiennent une corde vide.

Je veux que la question renvoie 1 rangée par employé.  Quand un employé a les disques multiples, je veux celui avec les champs les plus facultatifs peuplés.  Quand il y a une cravate, je veux celui avec la clé primaire la plus élevée.

Mon approche
J'emploie des questions nichées pour produire les résultats.  YOURTABLECOUNT renvoie chaque rangée avec une colonne supplémentaire qui compte les champs facultatifs.  YOURMAXCOUNT renvoie juste les rangées avec les champs les plus facultatifs peuplés pour chaque employé.  Toutes les deux ces questions fonctionnent très bien.  

Cependant, YOURMAXCOUNT produit des rangées multiples pour le même employé.  Cela est prévu quand il y a des cravates sur le compte de champ peuplé le plus élevé. QUERY1 est une tentative d'éliminer les cravates en choisissant la clé primaire la plus élevée à partir parmi les cravates.


Le problème
Je m'attends à ce que QUERY1 renvoie 1 rangée pour chaque employé employant une sous-question corrélée. Mais elle renvoie seulement 1 rangée tout à fait comme si la pièce de corrélation est ignorée. Au lieu de renvoyer la clé primaire la plus élevée de PARMI LES CRAVATES pour le même employé, elle renvoie seulement la clé primaire la plus élevée À TRAVERS LA TABLE ENTIÈRE.

J'ai obtenu les résultats prévus dans QUERY2, simplement en employant différents noms d'emprunt de table que QUERY1.   Semble comme le ce ne devrait pas importer, mais il semble à.

J'ai également obtenu les résultats prévus dans QUERY3 avec les noms d'emprunt mais l'utilisation de table originale d'une jointure au lieu d'une sous-question corrélée.

La base de données d'essai
Je réalise que c'est une question prolixe ; elle mieux est comprise en regardant la base de données jointe d'essai.   BTW, j'ai le problème dans .mdb et dossier de .accdb using l'accès 2007.

Questions
1.  Pourquoi QUERY1 renvoie-t-il 1 rangée au lieu de 1 rangée par employé ?
2.  Pourquoi des noms d'emprunt le changement de table fait-il une différence ?












 

 
Attachements :
 
Essai mystérieux de question
 

Réponse : Question mystérieuse d'accès

L'androïde 2.0 soutient vers le haut des comptes d'échange de mutiple : -

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


Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us