Как получить список участников, связанных с фотографией, и их значения согласия? - PullRequest
0 голосов
/ 22 октября 2019

Я унаследовал базу данных Access для клуба регби, которая была разработана для того, чтобы позволить им каталогизировать фотографии, которые появляются на фотографиях и если люди на фотографии дают свое согласие на использование в публикациях в СМИ.

Я долгое время не работал ни с каким SQL, ДОЛГО , поэтому я чувствую себя немного не в своей тарелке.

Вот как выглядит база данныхкак:

Database Relationship Diagram

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

Может кто-нибудь помочь пролить свет на это для меня? Сейчас я чувствую себя очень глупо.

Ответы [ 2 ]

1 голос
/ 22 октября 2019

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

SELECT p.ID,
       pp.[Participant Name],
       ptp.[Consent Given]
  FROM tblPhotograph p
    LEFT JOIN tblParticipant_to_Photo ptp ON ptp.Photograph_ID = p.ID
    LEFT JOIN tblParticipant pp ON pp.ID = ptp.Participant_ID

Показать идентификатор фотографии (p.ID), имя участника (pp.[Participant Name]) и о том, дается ли согласие (ptp.[Consent Given]) для каждой фотографии.

Таблица tblPhotograph присоединяется к таблице tblParticipant_to_Photo на удостоверении личности с фотографией, а затем присоединяется к tblParticipant на ID участника.

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

WHERE p.ID = 1

Изменение 1 на идентификатор фотографии, которую вы хотите.

0 голосов
/ 22 октября 2019

Попробуйте что-то вроде этого (не проверено):

SELECT
    [ph].[File Name], 
    [p].[Participant Name],
    [ptp].[Consent Given]
FROM
    [tblPhotograph] [ph]
    LEFT JOIN [tblParticipant_to_Photograph] [ptp] ON [ptp].[Photograph_ID] = [ph].[ID]
    LEFT JOIN [tblParticipant] [p] ON [p].[ID] = [ptp].[Participant_ID]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...