Wybierz zapytanie, wybierając instrukcję wyboru
Nie wiem nawet, czy wykonuję to zapytanie we właściwy sposób. Tam jestSandwiches
tabela, która ma około 7 pól i 2 z nich to comboboksy (Type
iBread
).
Zrobiłem więc zapytanie, które łączy wszystkie wartości comboboxes w jedno zapytanie, takie jak to:
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;
Otrzymuję płaskie wartości tabel, teraz chcę policzyć wszystkie kanapki pod każdymTypesAndBreads.TBName
. Mam to, żeby upewnić się, że działa ze wszystkimi Kanapkami:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches) As SandwichCount
FROM TypesAndBread;
Ale chcę odwołać się do bieżącego typu i TBName wewnątrz podzapytania. Coś takiego:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches
WHERE Sandwiches.[TypesAndBread.Type] = Sandwiches.[TypesAndBread.TBName]) As SandwichCount
FROM TypesAndBread;
Ale oczywiście to nie działa. Nie sądziłem, że tak, po prostu pomyślałem, żeby spróbować. Myślałem o skonstruowaniu zapytania za pomocą VBA, gdy otwierają raport, na którym będzie oparte zapytanie.
Myślę więc, że moje pytanie brzmi: Czy istnieje sposób odwoływania się do bieżących wybranych pól w podzapytaniu? Czy jest inny sposób podejścia do tego?
Dzięki za pomoc
EDYTOWAĆ: Moja struktura tabeli wygląda następująco:
Sandwiches
pola
| SandwichID | Name | Date Added | Chef | Sandwich Type | Bread | Reviewed By |
gdzieSandwich Type
iBread
są polami wyszukiwania dla tych tabel:
Sandwiches Types
pola
| Sandwich Type |
Breads
pola
| Bread |
Zapytanie TypesAndBreads połączyło tabele typów i chlebów kanapek, ale powodem tego jest to, że mogę uzyskać liczbę wszystkich kanapek, które mają ten typ lub chleb. Wynik taki jak ten:
+=============================================+
| Type | TBName | SandwichCount |
+=============================================+
| Sandwich Type | Turkey Club | 10 |
| Bread | Italian | 5 |
| Bread | Garlic | 8 |
+---------------------------------------------+
w pierwszym wierszu przykładowego wyniku mówi się, że zapisano 10 kanapek z polem typu kanapkowego równym Clubowi Turkey.
Mam nadzieję, że lepiej to wyjaśnia.