Как использовать свод в доступе - PullRequest
0 голосов
/ 23 октября 2018

использовать три таблицы (TB_HOPE_INDUSTRY, TB_M_INDUSTRY, TB_PROFILE), я хочу получить таблицу красного контура.

Как я могу сделать SQL-запрос?Пожалуйста, помогите мне.

enter image description here

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете создать запрос, который использует все 3 таблицы, и

  • Соединить TB_PROFILE и TB_HOPE_INDUSTRY в обоих полях PROFILE_ID.
  • Соединить TB_M_INDUSTRY и TB_HOPE_INDUSTRY в обоих полях INDUSTRY_CD
  • ВЫБЕРИТЕ столбцы PROFILE_ID и NAME из таблицы TB_PROFILE
  • Добавьте столбец INDUSTRY_NO из таблицы TB_HOPE_INDUSTRY
  • Добавьте столбец INDUSTRY_NAME из таблицы TB_M_INDUSTRY
  • Нажмите CROSSTAB на ленте1014 *

Затем задайте следующие параметры для свойств Функция и Кросс-таблица в сетке проектирования:

  • сгруппировать по PROFILE_ID иINDUSTRY_NO
  • выберите функцию Первая для столбцов NAME и INDUSTRY_NAME
  • , измените имя столбца NAME на что-то вроде PROFILE
  • Отображать PROFILE в виде строкизаголовок, INDUSTRY_NO в качестве заголовка столбца, (первый из них) INDUSTRY_NAME в качестве значения.
  • Не отображать PROFILE_ID (просто используйте его для группировки)

Результирующий запрос SQL должен выглядеть примерно так:

TRANSFORM First(TB_M_INDUSTRY.INDUSTRY_NAME) AS FirstOfINDUSTRY_NAME
SELECT First(TB_PROFILE.NAME) AS PROFILE
FROM TB_PROFILE INNER JOIN 
    (TB_M_INDUSTRY INNER JOIN TB_HOPE_INDUSTRY ON TB_M_INDUSTRY.INDUSTRY_CD = TB_HOPE_INDUSTRY.INDUSTRY_CD)
  ON TB_PROFILE.PROFILE_ID = TB_HOPE_INDUSTRY.PROFILE_ID
GROUP BY TB_PROFILE.NAME
PIVOT TB_HOPE_INDUSTRY.INDUSTRY_NO;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...