2014-01-17 6 views
0

Я наткнулся на этот сайт и сразу же влюбился. Позвольте мне быть абсолютно честным, я мало знаю о доступе. Я сказал моему менеджеру, и он все еще настаивает на том, что я «могу понять», что сильно сомневается. Итак, здесь я прошу помощи .. На вопрос:MS Access - помощь в поиске запросов

Где находятся гуру SQL-кода? haha

У меня есть 2 стола, «Найдено» & «Пропавшие без вести», обе показывающие корректировки инвентаря для нашего здания внутри компании. (Amazon)

Я считаю, что у меня есть процесс понял, но не имеют ни малейшего представления о том, как она выглядит в Access ..

Шаг 1: Группировка по ASIN (в основном числовой вариант штрих-кода)

Шаг 2: Определить +/- для сгруппированных ASINs в обоих списках

Шаг 3: Используйте TOP функцию, чтобы найти самые большие отрицательные корректировки

Существует в общей сложности 3000+ записей в обеих таблицах, но, надеюсь, если я может определить про то вход/выход не имеет значения.

Я думал, может быть, мне нужен уникальный идентификатор? Бин (местоположение) + ASIN (штрих-код) + Количество

Как вы можете видеть. Я думал, организую и молюсь, чтобы кто-то мог помочь!

Вот фиктивный пример «Найдено» электронной таблицы, «Пропавшие без вести» таблицы точно такой же формат, с той лишь разницей, а «М» вместо «F» под «Reason Code»

Надеюсь, этого достаточно информации, я знаю ее кластер .... спасибо, ребята!

Date   FC  Application Name IOG ID IOG Name Container Id GL Product Group ASIN  Processed By Reason Code Quantity  Item Cost  
1/5/2014 RIC1 FCICQACountService 1234 Doll Inc. P-1-A101xxx  Toy    B000000001  unknown1   F   -1   12.34 
1/5/2014 RIC1 FCICQACountService 1334 Amazon  P-1-A101xxx  Drugstore   B000000002  unknown2   F   -1   10.36  
1/5/2014 RIC1 FCICQACountService 1432 Amazon  P-1-A102xxx  Office Product B000000003  unknown3   F   -13   50.50 
1/5/2014 RIC1 FCICQACountService 1442 Amazon  P-1-A102xxx  Office Product B000000004  unknown4   F   -2   223.62 
1/5/2014 RIC1 FCICQACountService 1337 Hope Inc. P-1-A102xxx  Office Product B000000005  unknown5   F   -1   100.99 
+0

Каков ваш ожидаемый результат? – Elias

+0

До этого случая я никогда не открывал Access. Я надеялся на руководство ... от людей, хорошо осведомленных по этому вопросу. – Vinnie

ответ

0

Я принимаю это за «электронную таблицу», вы на самом деле означаете «стол». Может быть хорошей идеей найти хороший учебник по SQL и реляционным базам данных в целом.

У вас неплохое начало. Вы определили, что хотите. Обратите внимание, что в SQL это то, что вы обычно делаете; вы больше думаете о том, какой результат вы хотите, чем о процессе его получения. В каждом из ваших предложений предлагается ключевое слово или функция, которые войдут в ваш запрос:

1) «Группа от ASIN (в основном числовая версия штрих-кода)»: Возможно, вы захотите использовать ключевое слово GROUP BY.

2) «Определите +/- для сгруппированных ASIN в обоих списках»: Похоже, вы хотите, чтобы SUM здесь столбец.

3) «Используйте функцию TOP, чтобы найти самые большие отрицательные корректировки»: Очевидно, вы уже знаете, что хотите TOP. Тем не менее, часть, которую вы пропустили, состоит в том, что «наибольшая отрицательная» часть предполагает, что вы хотите использовать ORDER BY, и сначала хотите наименьшую (наибольшую отрицательную величину). Это позволит убедиться, что правый ряд находится сверху, когда он занимает верхний.

Таким образом, все это вместе, единственное, что вам нужно выяснить, это синтаксис.Ваш конечный запрос, вероятно, выглядит примерно так:

SELECT TOP 1 ASIN, SUM(Quantity) AS TotalQuantity FROM Found GROUP BY ASIN ORDER BY SUM(Quantity); 

Это рассчитает сумму Quantity для каждой группы строк, которая имеет ту же ASIN, и результат будет набор строк, содержащих ASIN и общее Quantity для этого ASIN. Затем он сортирует строки, используя общее количество, с наименьшей (самой отрицательной) строкой сверху. Затем TOP отсекает все остальные строки. Вы можете опционально отказаться от TOP 1, если хотите увидеть все строки.

Кстати, это SUM функция немного специальный. Это то, что мы называем агрегатом. Это потому, что он делает что-то с множеством значений во многих строках. Не все функции похожи на SQL, но это одно.

Если это не совсем то, что вы ищете, я надеюсь, что этого достаточно, чтобы вытащить вас с земли. Удачи.

+0

Большое спасибо! Это сработало для обеих таблиц, теперь я снова застрял .. Мне нужно найти разницу между результатами запроса .. в основном то, что в конечном итоге не должно быть нулевым, нужно показать в новом запросе. Wow, Access пытался убить меня. – Vinnie

+0

@Vinnie Я думаю, что это требует нового вопроса. – jpmc26

+0

Очень верно, еще раз спасибо! – Vinnie

Смежные вопросы