Я начинающий разработчик с базовым опытом работы с SQL, и эта проблема «решала мои проблемы» в течение последних нескольких дней.Я пару раз хотел задать вопрос и подумал ... пока нет ... продолжайте пытаться.
У меня есть таблица:
ID
Store
Product_Type
Delivery_Window
Despatch_Time
Despatch_Type
Pallets
Cartons
- Многие другие столбцы (
start_week
и day_num
- это два из них)
Моя цель - получить списокproduct_type
Я проверил базовый запрос.
SELECT Product_Type, Store, Min(Despatch_Time) as MinDes
FROM table
GROUP BY Store, Product_Type
Работает хорошо, я получаю 200 строк какожидается.
Теперь я хочу, чтобы эти 200 строк имели другую связанную информацию записи: Delivery_Window
, start_week
и т. д.
Я пробовал следующее.
SELECT * FROM Table WHERE EXISTS
(SELECT Product_Type, Store, Min(Despatch_Time) as MinDes
FROM table
GROUP BY Store, Product_Type)
Я попытался выполнить внутренние и правильные объединения, все возвратили более 200 записей, моя первоначальная сумма.
Я проверил дополнительные записи, и это то место, где есть одинаковое время отправки для магазина и типа продукта.но для другого типа отправки.
ТакМне нужна помощь в создании запроса, в котором я ограничиваю его исходным подзапросом, но даже если есть совпадающие минимальные времена отправки, он все равно будет ограничивать количество до одной записи по магазину и типу продукта.
Текущий запрос:
SELECT *
FROM table AS A INNER JOIN
(Select Min(Despatch_Time) as MinDue, store, product_type
FROM table
WHERE day_num = [Forms]![FRM_SomeForm]![combo_del_day] AND start_week =[Forms]![FRM_SomeForm]![txt_date1]
GROUP BY store, product_type) AS B
ON (A.product_type = B.product_type) AND (A.store = B.store) AND (A.Despatch_Time = B.MinDue);