Eine Auswahlabfrage, die eine Auswahlanweisung auswählt
Ich weiß nicht einmal, ob ich diese Abfrage richtig mache. Da ist einSandwiches
Tabelle mit 7 Feldern und 2 davon sind Comboboxen (Type
undBread
).
Daher habe ich eine Abfrage erstellt, in der alle Combobox-Werte in einer Abfrage zusammengefasst sind:
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;
Ich bekomme die flachen Werte der Tabellen, jetzt möchte ich alle Sandwiches darunter zählenTypesAndBreads.TBName
. Ich habe dies, nur um sicherzustellen, dass es mit allen Sandwiches funktioniert:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches) As SandwichCount
FROM TypesAndBread;
Aber ich möchte den aktuellen Typ und TBName in der Unterabfrage referenzieren. Etwas wie das:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches
WHERE Sandwiches.[TypesAndBread.Type] = Sandwiches.[TypesAndBread.TBName]) As SandwichCount
FROM TypesAndBread;
Aber das funktioniert natürlich nicht. Ich habe nicht gedacht, dass es so sein wird, sondern nur daran gedacht, es zu versuchen. Ich habe darüber nachgedacht, die Abfrage möglicherweise mit VBA zu erstellen, wenn sie den Bericht öffnen, auf dem diese Abfrage basieren soll.
Also denke ich meine Frage ist: Gibt es eine Möglichkeit, auf die aktuell ausgewählten Felder in einer Unterabfrage zu verweisen? Oder gibt es eine andere Herangehensweise?
Danke für die Hilfe
BEARBEITEN: Meine Tabellenstruktur sieht so aus:
Sandwiches
's Felder
| SandwichID | Name | Date Added | Chef | Sandwich Type | Bread | Reviewed By |
woherSandwich Type
undBread
sind Suchfelder für diese Tabellen:
Sandwiches Types
's Felder
| Sandwich Type |
Breads
's Felder
| Bread |
Bei der Abfrage "TypesAndBreads" wurden die Tabellen "Sandwiches Types" und "Breads" kombiniert. Der Grund hierfür ist jedoch, dass ich die Anzahl aller Sandwiches mit diesem Typ oder Brot ermitteln kann. Ein Ergebnis wie dieses:
+=============================================+
| Type | TBName | SandwichCount |
+=============================================+
| Sandwich Type | Turkey Club | 10 |
| Bread | Italian | 5 |
| Bread | Garlic | 8 |
+---------------------------------------------+
Die erste Zeile des Beispielergebnisses besagt im Wesentlichen, dass 10 Sandwiches mit dem Feld Sandwich Type (Sandwich-Typ) gleich Turkey Club (Türkei-Club) im Datensatz sind.
Ich hoffe das erklärt es besser.