У меня есть 3 таблицыSQL Группировка структуры таблицы с условной присоединиться к совету
1) Photos (PhotoId,Title, CreatedById,etc...)
2) Stories (StotyId,StoryDesc,CoverPhotoId,CreatedById,etc...)
3) Groups (GroupId,GroupDesc,CreatedById)
Теперь я хочу, чтобы создать таблицу, где я могу хранить содержимое группы. Каждая группа может иметь 1 или mroe Photos and Stories. Как я его сохраню? Если я использую только таблицу как этот
GroupContents (Id,GroupId,ItemId,ItemType)
Где я буду хранить StoryId или PHOTOID в колонке Itemid и хранить либо «Story» или «Фото» в колонке ItemType.
Когда я пишу запрос, чтобы получить содержимое группы, должен ли я добавить conditinal join? то есть; Если ItemType - это «Story», «Join from Story table», «Else Join from Photos»? Поскольку одинаковый идентификатор истории и PhotoId существуют как столбец Identity в обеих таблицах
Каков наилучший способ справиться с этим сценарием? Должен ли я создавать 2 отдельных таблицы, например GroupPhotos(GroupId,PhotoId)
и GroupStories(GroupId,StoryId)
?