У меня есть 3 таблицы:
- родительский
- дочерний
- родительский
Существует много-много отношений между родителямии child, реализованные с помощью таблицы соединения родительских элементов.
Я ищу запрос, который даст мне всех родителей для данного списка дочерних идентификаторов.НО - он должен совпадать точно, то есть родитель должен совпадать только в том случае, если у него ТОЧНО заданный набор дочерних идентификаторов, т.е. не меньше, но и не больше (я борюсь с частью «не более»).
У меня есть такое же требование: Выберите родительскую запись со всеми детьми в SQL , за исключением того, что у детей может быть несколько родителей.
Чтобы дать конкретныйпример:
select * from parent
parent_id name
------------------------------------
1 Parent 1
2 Parent 2
select * from child
child_id name
------------------------------------
1 Child 1
2 Child 2
3 Child 3
select * from parent_child
parent_child_id parent_id child_id
------------------------------------
1 1 1
2 1 2
3 1 3
4 2 1
5 2 3
Т.е. если при предоставлении дочерних идентификаторов 1,2,3 должен возвращаться родительский идентификатор 1 , поскольку только родитель 1 связан со всеми тремя указанными дочерними идентификаторами.
При указании дочерних идентификаторов 1 и 3 необходимо вернуть родительский идентификатор 2 , поскольку только родитель 2 связан с only child 1 и 3
Это мой 1-й вопросздесь - надеюсь, что все в порядке!