Как мне показать отношения один ко многим
У меня есть datagridview, где у меня есть шесть столбцов. Я использую оператор left join для объединения 4 таблиц, чтобы просеять данные с помощью файлера. Я использую Individual_ID для объединения таблиц.
Если все объединенные таблицы имеют только одну ссылку на индивидуальный идентификатор, то это приводит к получению этих результатов. Однако, если я добавляю более одной ссылки на индивидуальный идентификатор, он не выводит никаких табличных данных, почему бы и нет.
Пример данных:
Профильный стол
Individual_ID
Имя
Второе имя
Фамилия
Month_of_birth
Day_of_birth
Год рождения
АБОНЕНТСКИЙ ЯЩИК
Таблица смерти
Death_ID
ДОД
СТРУЧОК
Причина смерти
Individual_ID
Кладбищенский стол
Cem_ID
Cem_name
Место захоронения
Individual_ID
мой datagridview настроен следующим образом:
Individual_ID имя дата рождения ПОБ
1 Джонсон, Джон 10/18/1900 Чикаго, Иллинойс
2 Мэтьюз, Майк 28.11.1910 Балтимор, Мэриленд
Запрос, который я использую, таков:
"Select profile.Individual_ID, First_name, Middle_name, Last_name, Sex, Race, Place_of_birth, County_of_birth, State_of_birth, Place_of_death, State_of_death, County_of_death, Month_of_death, day_of_death, Year_of_death, Cause_of_death, Cemetery_name, Cemetery_state, Cemetery_county, Cemetery_address, Section, Row, Lot, Grave, Burial_date From profile left join death On Profile.Individual_ID = death.Individual_ID left join cemeteries On death.cemetery_ID = cemeteries.cemetery_ID left join cemetery_reference On Cemetery_reference.cemetery_ID = cemeteries.cemetery_ID "
допустим, человека хоронили 2 раза, тогда вышеприведенный запрос не работает. Однако, если человек похоронен один раз, то все появляется в gridview. Это только тогда, когда Individual_ID ссылается на другие таблицы более одного раза, что дает мне проблему.
Что я уже пробовал:
Попытался повернуть все операторы join, но все равно не смог получить никаких данных, чтобы появиться, если у меня есть более одной ссылки на Individual_ID.
Santosh kumar Pithani
Как вы заметили, "если я добавляю более одной ссылки на индивидуальный идентификатор, он не выводит никаких табличных данных"..Я думаю, что вы использовали оператор "и", чтобы добавить еще одно условие, так что используйте "или" вместо этого вы можете найти лучше.
Maciej Los
Можете ли вы поделиться образцами данных и своим запросом? Воспользуйся "Улучшить вопрос" виджет.
Вы видели мой ответ на этот вопрос: Как мне получить внутреннее соединение с 4 таблицами для работы (VB.NET)[^]?
Member 11856456
Да, мне пришлось изменить оператор на левое соединение, потому что в то время не все было связано, и когда вы используете внутреннее соединение, оно ищет точные совпадения. Однако это помогло мне понять, где я ошибся в написании своих заявлений о присоединении.
phil.o
Вы имеете в виду рассмотрение дела, когда один человек может быть мертв несколько раз или похоронен в нескольких местах?
Во всяком случае, Что я уже пробовал: раздел-это место, где вы должны показать нам свой фактический запрос, чтобы мы могли лучше рассмотреть ваш вопрос. Пожалуйста, используйте зеленую кнопку "улучшить вопрос" и квалифицируйте его соответствующим запросом или запросами.
Member 11856456
Я пересмотрел свой вопрос и включил больше, плюс я добавил свой запрос.