Bor-ka
Новичок
Помогите составить запрос (+)
Помогите составить оптимальный запрос.
Имеются две таблицы:
Таблица 1
ID | Поле 1
1 | Текст 1
2 | Текст 2
3 | Текст 3
Таблица 2
ID | Поле 1 | Поле 2
1 | 1 | 1
2 | 2 | 1
3 | 2 | 3
4 | 3 | 3
5 | 3 | 1
"Поле 1" в "таблице 2" - ID записи из "таблицы 1"
Необходимо:
выбрать из таблицы 1 все записи, для которых в "таблице 2" есть ВСЕ идентификаторы в Поле 2 из заранее определенного множества, например [1,3], т.е. к таким подходит "Текст 2" и "Текст 3".
Решили сделать в два запроса:
1. Выбрать из второй таблице все, у кого есть хоть одно вхождение идентификатора из множества -> выносим во временную таблицу
2. Во временной таблице группировка с подсчетом количества встречаемых, если count равно колчиеству элементов множества, то подходит.
вижу, что через ж*пу, но иначе никак не можем придумать.
[пример иcправлен]
Помогите составить оптимальный запрос.
Имеются две таблицы:
Таблица 1
ID | Поле 1
1 | Текст 1
2 | Текст 2
3 | Текст 3
Таблица 2
ID | Поле 1 | Поле 2
1 | 1 | 1
2 | 2 | 1
3 | 2 | 3
4 | 3 | 3
5 | 3 | 1
"Поле 1" в "таблице 2" - ID записи из "таблицы 1"
Необходимо:
выбрать из таблицы 1 все записи, для которых в "таблице 2" есть ВСЕ идентификаторы в Поле 2 из заранее определенного множества, например [1,3], т.е. к таким подходит "Текст 2" и "Текст 3".
Решили сделать в два запроса:
1. Выбрать из второй таблице все, у кого есть хоть одно вхождение идентификатора из множества -> выносим во временную таблицу
2. Во временной таблице группировка с подсчетом количества встречаемых, если count равно колчиеству элементов множества, то подходит.
вижу, что через ж*пу, но иначе никак не можем придумать.
[пример иcправлен]