Объединение значений из связанных строк в одно конкатенированное строковое значение

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

tbl_Instructors имеет:

N_ID | F_Name | L_Name 001 Joe Smith 002 Henry Fonda 003 Lou Reed 

tbl_Courses:

  Course_ID | N_ID | Course_Info AAA 001 PHYS 1 AAB 001 PHYS 2 CCC 002 PHYS 12 DDD 003 PHYS 121 FFF 003 PHYS 224 

Я хочу вернуться:

  N_ID | First_Name | Last_Name | Course_IDs 001 Joe Smith AAA, AAB 002 Henry Fonda CCC 003 Lou Reed DDD, FFF 

Я думаю, мне нужно что-то сделать, выбрав все N_ID от tbl_Instructors, а затем вернув Course_ID из tbl_Courses через конкатенацию, но этот волшебный шаг намекнул мне. Любая помощь? Могу ли я сделать это с помощью SQL-запросов или мне нужно будет использовать VB?

Это легко использовать с помощью функции ConcatRelated () Аллена Брауна. Скопируйте функцию с этой веб-страницы и вставьте ее в стандартный модуль кода Access.

Затем этот запрос вернет то, что вы просили.

 SELECT i.N_ID, i.F_Name, i.L_Name, ConcatRelated( "Course_ID", "tbl_Courses", "N_ID = '" & [N_ID] & "'" ) AS Course_IDs FROM tbl_Instructors AS i; 

Рассмотрим изменение типа данных N_ID от текста до числового в обеих таблицах. Если вы это сделаете, вам не нужны одиночные кавычки в третьем аргументе для выражения ConcatRelated() .

 "N_ID = " & [N_ID] 

И всякий раз, когда вам нужно N_ID отображаемое с ведущими нулями, используйте выражение Format() .

 Format(N_ID, "000") 
Interesting Posts

Можно ли использовать PuTTY в качестве пользовательского интерфейса для оболочки Windows?

В чем разница между 2,5 "и 3,5" жесткими дисками?

Windows 7 совместно использует интернет-соединение с несколькими сетевыми интерфейсами

Почему переменные функции состояния pthreads требуют мьютекс?

Вывод типа параметра шаблона c ++

Шаги в процессе выделения памяти для объектов Java

Asp.Net MVC как получить представление для создания PDF

Список инициаторов не работает с вектором в Visual Studio 2012?

Избегайте сортировки ggplot по оси x при построении geom_bar ()

XML Сериализовать общий список сериализуемых объектов

VM sandboxing – что происходит?

Являются ли Spring MVC Controllers Singletons?

Где разместить глобальные переменные в Rails 3

как я могу сделать свой продукт пробной версией в течение 30 дней?

Проводник Windows. Как большой файл может иметь значение «Размер на диске»? Что это значит

Давайте будем гением компьютера.