Доступ к перекрестному запросу для отображения двух значений в каждой ячейке?

У меня есть запрос с четырьмя полями, TraineeName, TrainerName, TrainingType, TrainingDate.

Я хочу иметь TraineeName as row headings, TrainingType в качестве заголовков столбцов и оба TrainerName and TrainingDate в качестве значений. Я могу сделать это?

Я хочу быстро посмотреть, прошел ли определенный сотрудник обучение в какой-либо области, когда и у кого. Есть лучший способ сделать это? Я хочу сделать этот отчет, который можно распечатать для аудита. У меня около 60 сотрудников и 20 видов обучения.

Спасибо!!

ОБНОВЛЕНИЕ: ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ

Table with Employees...  Bob, Bill, Jim, Sandy
Table with Trainers....  Red Cross, Forklifts 'R' Us, Fire Dept
Table with Training....  First Aid, CPR, Forklift Safety, Fire Extinguishers

Таблица, относящаяся к трем...

    Employee     Trainer            Training          Date
 1. Bob,         Red Cross,         First Aid,        12/5/11
 2. Bob,         Forklifts 'R' Us,  Forklift Safety,  5/18/11
 3. Bill,        Red Cross,         CPR,              12/5/11

Теперь мне нужен отчет, в котором будут перечислены все сотрудники внизу, а все обучение вверху. Тогда я могу быстро увидеть, какие сотрудники прошли обучение, когда и кем. поэтому для каждого соединения между Employee и Training требуется два значения. Я могу добавить тренеров в качестве еще одного столбца, но тогда для каждой комбинации сотрудник/тренер будет создана новая строка.

Таблица Employees имеет несколько полей, но самое главное — EmployeeID (pk и autonumber), EmployeeName

Таблица Trainer похожа, TrainerID (pk и autonumber), TrainerName

Таблица Training аналогична, TrainingID (pk и autonumber), TrainingName

Таблица TrainingLog имеет LogEmployeeID, LogTrainerID, LogTrainingID, LogTrainingDate.


person riley3131    schedule 12.12.2012    source источник
comment
Можете ли вы показать нам визуальный вывод ваших данных и, если возможно, обновить свой вопрос со схемой таблицы. в любом случае, попробуйте подумать, можно ли данные, которые вы пытаетесь кросс-табировать, поместить в простую сводную таблицу. Если можно, то можно и крестовину придумать для того же.   -  person bonCodigo    schedule 12.12.2012
comment
@bonCodigo Обновил мой вопрос, насколько мог. Надеюсь, теперь это имеет больше смысла. Возможно, мне просто придется использовать даты, так как я могу использовать «Макс» в качестве своей агрегатной функции, чтобы вернуть самое последнее обучение, которое прошел человек. Но я действительно хотел бы найти способ увидеть, кто был тренером.   -  person riley3131    schedule 13.12.2012
comment
Я создам образец и дам вам ответ, чтобы попробовать. Теперь, когда вы приблизительно показали ожидаемый результат и таблицы, все стало немного яснее. Можете ли вы также рассказать нам о вашем внешнем ключе и ограничениях первичного ключа? например, как вы связываете каждую таблицу с другой? :)   -  person bonCodigo    schedule 13.12.2012


Ответы (1)


Я знаю, что это было опубликовано давно, но самый простой ответ — создать два отдельных перекрестных запроса для обоих ваших результатов, а затем объединить их с обычным запросом выбора.

person nicesoni_ash    schedule 17.09.2013