У меня есть отношение ко многим таблицам, которое включает 2 логические таблицы.
Таблица записей, которая присоединяется к таблице отношений по primaryID.
Второй экземпляр таблицы записей, который присоединяется к таблице отношений по ReciprocalID
Цель этого - показать семейные отношения в базе данных. Каждая первичная таблица записей имеет одну или несколько строк в реляционной таблице, которая показывает все другие семейные отношения этого человека в базе данных.
Мне было поручено составить список контактов, включающий отображение имен каждого из детей, которые посещают эту школу, а также их родителей и контактную информацию.
Я дошел до того, что смог показать детей под каждым родителем, но теперь мне нужно найти способ объединить их вместе.
Поскольку я не контролирую структуру этой базы данных (ее Education Edge 7), я создал отдельную базу данных, в которой хранятся мои запросы и представления для моих отчетов. Школа, для которой я делаю эту работу, имеет доступ только к CR 8.5.
Прямо сейчас у меня есть топ-группа в CR в качестве фамилии записываемой таблицы, моя вторая группа находится на полном имени записываемой таблицы. У меня есть подотчет, в который заносятся все записи о детях.
Я использовал случай, когда утверждение в моем основном представлении (описанном выше) преобразовало «дочь» и «сын» в ребенка и «мать» или «отец» в родителя.
Надеюсь, это слишком много. Если вам нужна дополнительная информация, просто спросите.
SELECT dbo.vwEA7RelationshipsTableView.PRIMARYID,
dbo.vwEA7RecordsTableView.LASTNAME AS PRIMARYLASTNAME,
dbo.vwEA7RecordsTableView.FIRSTNAME AS PRIMARYFIRSTNAME,
dbo.vwEA7RecordsTableView.NAMEFORDISPLAY AS PRIMARYNAME,
CASE dbo.vwEA7RelationshipsTableView.PRIMARYDESC
WHEN 'Father' THEN 'Parent'
WHEN 'Mother' THEN 'Parent'
WHEN 'Son' THEN 'Child'
WHEN'Daughter' THEN 'Child'
ELSE dbo.vwEA7RelationshipsTableView.PRIMARYDESC
END AS PRIMARYDESC,
dbo.vwEA7RelationshipsTableView.RELATIONID,
vwEA7RecordsTableView_1.LASTNAME AS RELATIONLASTNAME,
vwEA7RecordsTableView_1.NAMEFORDISPLAY AS RELATIONNAME,
dbo.vwEA7RelationshipsTableView.RELATIONDESC
FROM dbo.vwEA7RelationshipsTableView INNER JOIN
dbo.vwEA7RecordsTableView ON
dbo.vwEA7RelationshipsTableView.PRIMARYID = dbo.vwEA7RecordsTableView.ID INNER JOIN
dbo.vwEA7RecordsTableView AS vwEA7RecordsTableView_1 ON
dbo.vwEA7RelationshipsTableView.RELATIONID = vwEA7RecordsTableView_1.ID
TableViews - это просто воссоздание первичных таблиц из основной базы данных.