Я даже не знаю, правильно ли я делаю этот запрос.
Существует таблица Sandwiches
, в которой есть около 7 полей, и 2 из них - комбинированные списки (Type
и Bread
).
Итак, я сделал запрос, который объединяет все значения комбинированных списков в один запрос, например:
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;
Я получаю фиксированные значения таблиц, теперь хочу подсчитать все бутерброды под каждым TypesAndBreads.TBName
. У меня есть это, просто чтобы убедиться, что он работает со всеми сэндвичами:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches) As SandwichCount
FROM TypesAndBread;
Но я хочу сослаться на текущий Type и TBName внутри подзапроса. Примерно так:
SELECT TypesAndBread.Type, TypesAndBread.TBName,
(SELECT Count(Sandwiches.[SandwichID]) As SandwichCount
FROM Sandwiches
WHERE Sandwiches.[TypesAndBread.Type] = Sandwiches.[TypesAndBread.TBName]) As SandwichCount
FROM TypesAndBread;
Но, конечно, это не работает. Я не думал, что это будет, просто подумал попробовать. Я думал о том, чтобы, возможно, создать запрос с VBA, когда они откроют отчет, на котором будет основан этот запрос.
Итак, я предполагаю, что мой вопрос: Есть ли способ ссылки на текущие выбранные поля в подзапросе? Или есть другой способ подойти к этому?
Спасибо за помощь
EDIT:
Моя структура таблицы такая:
Sandwiches
поля
| SandwichID | Name | Date Added | Chef | Sandwich Type | Bread | Reviewed By |
, где Sandwich Type
и Bread
- поля поиска для этих таблиц:
Sandwiches Types
поля
| Sandwich Type |
Breads
поля
| Bread |
Запрос TypesAndBreads объединил таблицы типов сэндвичей и хлебов, но причина в том, что я могу получить счетчик всех сэндвичей с этим типом или хлебом. Такой результат:
+=============================================+
| Type | TBName | SandwichCount |
+=============================================+
| Sandwich Type | Turkey Club | 10 |
| Bread | Italian | 5 |
| Bread | Garlic | 8 |
+---------------------------------------------+
В первой строке результата примера в основном говорится, что в записи записано 10 сэндвичей с полем «Тип сэндвича», равным Turkey Club.
Надеюсь, это объясняет лучше.