Трудно правильно установить, но я использую MySQL, и мне нужно выбрать один идентификатор, назовем его parent_id, который должен соответствовать значениям child_id в нескольких строках.Выбор идентификатора, который удовлетворяет нескольким статьям
Например:
+-----------+----------+
| parent_id | child_id |
+-----------+----------+
| 1 | 10 |
+-----------+----------+
| 2 | 11 |
+-----------+----------+
| 2 | 12 |
+-----------+----------+
| 3 | 13 |
+-----------+----------+
| 4 | 11 |
+-----------+----------+
| 5 | 12 |
+-----------+----------+
Теперь, если я прохожу child_id параметры 11 и 12, я должен получить parent_id 2 назад, но если я прохожу 10 и 11, я не получить ничего взамен. Кроме того, если я прохожу 11, я должен получить 4. И если я прохожу 13, я должен получить 3 обратно.
Как это сделать? Я пробовал подсчитывать parent_id и использовать предложение HAVING, также используя предложение GROUP BY, но ничего не пытаюсь удовлетворить всем моим требованиям.
РЕДАКТИРОВАТЬ:
Пример Фидл: http://sqlfiddle.com/#!2/abbc4/5
EDIT2:
Ожидаемые результаты:
Передаваемые параметры: 11, 12 Полученный результат: 2
Передаваемые параметры: 11 Полученный результат: 4
Передаваемые параметры: 13 Полученный результат: 3
Передаваемые параметры: 12, 13 Полученный результат NULL
EDIT3:
Обновлена спецификация. См. Также: http://sqlfiddle.com/#!2/2f750/1
Wow! Даже перевод Google не мог помочь мне понять это. –
Это не вина ОП. Это вполне понятно: он хочет создать запрос, который возвращает 'parent_id', только если были указаны все соответствующие' child_id 'и не указано' child_id', которое принадлежит другому 'parent_id' –
. Что вы получите за '10, 13'. Ничего? Или '1' и' 3'? Альтернативно: для '11, 12, 13': Ничего? Или '2' и' 3'? –