Une requête de sélection de la sélection d'une instruction select
Je ne sais même pas si je fais cette requête le droit chemin.
Il y a un Sandwiches
table qui a environ 7 champs et 2 d'entre eux sont des zones de liste modifiables (Type
et Bread
).
J'ai donc fait une requête qui combine toutes les zones de liste modifiables valeurs dans une requête, comme ceci:
SELECT TypesAndBreads.TBName, TypesAndBreads.Type
FROM (SELECT [Sandwiches Types].[Sandwich Type] As TBName, "Sandwich Type" As Type
FROM [Sandwiches Types]
UNION ALL
SELECT Breads.Bread As TBName, "Bread" As Type
FROM Breads) AS TypesAndBreads;
Je reçois le plat valeurs des tables de maintenant, je veux compter tous les sandwichs sous chaque TypesAndBreads.TBName
. J'ai ça, juste pour s'assurer qu'il fonctionne avec tous les Sandwichs:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches) As SandwichCount
FROM TypesAndBread;
Mais je veux faire référence à l'état actuel et TBName à l'intérieur de la sous-requête. Quelque chose comme ceci:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches
WHERE Sandwiches.[TypesAndBread.Type] = Sandwiches.[TypesAndBread.TBName]) As SandwichCount
FROM TypesAndBread;
Mais bien sûr, cela ne fonctionne pas. Je ne pense pas que ça, juste la pensée de lui donner un essai. Je pensais peut-être la construction de la requête avec VBA lorsqu'ils ouvrent le Rapport que cette requête va être en fonction de.
Donc je suppose que ma question est: Est-il un moyen de faire référence à l'actuel champs sélectionnés dans une sous-requête? Ou est-il une autre façon d'aborder cette question?
Merci pour l'aide
EDIT:
Ma structure de la table est comme ceci:
Sandwiches
's champs
| SandwichID | Name | Date Added | Chef | Sandwich Type | Bread | Reviewed By |
où Sandwich Type
et Bread
sont à la Recherche de champs de ces tables:
Sandwiches Types
's champs
| Sandwich Type |
Breads
's champs
| Bread |
La TypesAndBreads requête combinée les Types de Sandwichs et Pains tables, mais la raison en est que, de sorte que je puisse obtenir le nombre de tous les sandwichs qui ont ce Type de pain ou de. Un résultat de ce genre:
+=============================================+
| Type | TBName | SandwichCount |
+=============================================+
| Sandwich Type | Turkey Club | 10 |
| Bread | Italian | 5 |
| Bread | Garlic | 8 |
+---------------------------------------------+
l'exemple du résultat de la première ligne d'abord dit qu'il y a 10 sandwichs enregistrement avec le Sandwich Type de champ égal à la Turquie Club.
J'espère que l'explique mieux.
J'ai ajouté de la structure de la table et certains de sortie désiré, de l'espoir, qui permet de. Merci pour le commentaire.
OriginalL'auteur Tony L. | 2010-01-11
Vous devez vous connecter pour publier un commentaire.
Ne sais pas si d'Accès prend en charge, mais dans la plupart des moteurs (y compris
SQL Server
) cela s'appelle une sous-requête en corrélation et fonctionne très bien:Cela peut être rendue plus efficace par l'indexation
Type
etBread
et la distribution de la sous-requêtes sur lesUNION
:OriginalL'auteur Quassnoi
J'étais trop compliquer moi-même. Après avoir pris une longue pause et de revenir, de la sortie souhaitée pourrait être accompli par cette simple requête:
Merci pour la réponse, il a aidé mon train de pensée.
OriginalL'auteur Tony L.