Соедините две таблицы через третью - одну таблицу, чтобы управлять ими всеми

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

Я новичок в Access, но очень хочу учиться. Я делаю тонны отчетов в Excel, но устал от того, как медленно это может быть, когда слишком много данных в моем листе данных. Поэтому я перешел на Access.

У меня есть 3 файла Excel с одной таблицей в каждом.

Таблица 1° 1st Excel содержит список названий кампаний и кодов отслеживания, которые прилагаются к ним.
"Campaign-TrackCode"(экспортируется из программного обеспечения)
например:
Страна Название кампании Track Code
Название кампании США 1 us-ad-1-1
Название кампании США 1 us-ad-2-1
Название кампании США 2 us-ad-1-2
Название кампании США 2 us-ad-2-2
Название кампании США 2 us-ad-3-2
так далее...

2 ° 2-я таблица Excel имеет даты; регистрационный идентификатор и от которого отслеживает код "Регистрация"(экспортируется из программного обеспечения)
например:
Дата Рег. ID Трек Код
01.01.2013 1021 us-ad-1-1
01.01.2013 1022 us-ad-1-1
01.01.2013 1023 us-ad-1-2
01.02.2013 1024 us-ad-4-2
01.02.2013 1025 us-ad-2-1
так далее...

3 ° 3-я таблица Excel - это отчет с датами, количеством кликов, названием кампании. "Отчет ggle"(экспортируется из рекламы ggle)
например:
Дата Название кампании Клики
01.01.2013 Название кампании 1 12
01.01.2013 Название кампании 1 46
01.01.2013 Название кампании 2 16
01.02.2013 Кампания № 2 35
01.02.2013 Название кампании 2 23
так далее...

И я пытаюсь объединить мою 2-ю и 3-ю таблицы вместе с 1-й, чтобы получить такую ​​таблицу в Access:
Дата Страна Название кампании Количество Reg ID Кликов
01.01.2013 Название кампании в США 1 21 12
01.01.2013 Название кампании США 2 23 35
01.02.2013          US                      Campaign name 1              22                         46
так далее...

Я не уверен, что делать. Я попробовал анализатор таблиц, чтобы разделить мою первую таблицу на 3 таблицы (страны, название кампании и код трека), затем подключить ее ко второй таблице через код трека, затем 1-ую таблицу, подключенную к 3-й таблице через кампании, и, наконец, использовать 1-й стол для соединения 2-го и 3-го.

не работает Поскольку я новичок, было бы здорово иметь шаг за шагом, чтобы создать этот финальный стол. Я немного потерян с первичными ключами и уникальными значениями. (У меня начинаются отношения один ко многим, поэтому я думаю, что я на правильном пути, чтобы учиться). Я бы не хотел менять свои таблицы Excel, поскольку импорт в доступе каждый день практически полностью автоматизирован. Я загружаю 3 отчета и затем добавляю уже импортированные таблицы в соответствии с уже сохраненными правилами для импорта этих файлов Excel.

Кто-нибудь знает, как это сделать?

Вот ссылка с примерами таблиц и необходимого вывода:

пример таблиц

1 ответ

Решение

Можете ли вы попробовать выполнить этот запрос (при необходимости изменив имена таблиц / полей) и посмотреть, все ли это? Я отредактирую этот ответ позже, когда мы установим, что это то, чего вы хотели достичь.;)

SELECT 
  Table2.Date, 
  Table1.Country, 
  Table1.[Campaign name], 
  Table2.[Track Code], 
  Table2.[Reg ID], 
  Table3.Clicks
FROM 
  Table3 INNER JOIN 
  (Table2 INNER JOIN Table1 ON Table2.[Track Code] = Table1.[Track Code]) ON 
  Table3.[Campaign name] = Table1.[Campaign name]
ORDER BY Table2.Date, Table1.Country, Table1.[Campaign name];
  • Скопируйте этот пример SQL-запроса выше,
  • откройте свою базу данных Access,
  • нажмите на вкладку Запросы,
  • нажмите на иконку Новый,
  • выберите представление дизайна,
  • закройте диалог добавления таблиц,
  • нажмите на кнопку SQL (вверху слева),
  • вставьте этот код,
  • изменить имена по мере необходимости,
  • нажмите на красный значок с восклицательным знаком (Выполнить),
  • вернись со своими выводами...

;)

РЕДАКТИРОВАТЬ: я добавил сортировку в конце запроса. Конечно, вы можете изменить порядок сортировки, поменяв местами поля, перечисленные в предложении ORDER BY, добавив еще несколько, пропустив некоторые, и если вы хотите, чтобы они сортировались в порядке убывания, добавьте DESC в конце имени поля, разделенного пробелом (например: ORDER BY Table2.Date DESC, Table1.Country чтобы записи были отсортированы сначала по дате в порядке убывания, а затем по стране в порядке возрастания ASC это порядок сортировки по умолчанию).

Я также предлагаю вам взглянуть на встроенный построитель запросов (Design View) после того, как вы закончите редактирование синтаксиса SQL. Вы обнаружите, что довольно быстро создавать собственные запросы. Скопированное предложение SQL даст вам хороший пример того, как таблицы связаны друг с другом в WYSIWYG построитель запросов. Конечно, вы также можете изменить все отношения, порядок сортировки, порядок отображения... просто перемещая объекты.;)

Другие вопросы по тегам