Предполагая три таблицы, которые отображают отношение многих ко многим.Как получить соседние элементы во многих таблицах?
People
1 Bob
2 Mark
3 Peter
4 Tracy
5 Robert
6 ...
Favorite_Food
1 Icecream
2 Fish&Chips
3 Chocolate
4 Pizza
Pople_To_Favorite_Food
1, 2 # Bob likes Fish&Chips.
2, 2 # Mark likes Fish&Chips too.
4, 2
3, 3
3, 2
1, 1 # Bob likes Icevream.
3, 1
4, 1
5, 3
Что такое рекомендуемый способ реализовать следующий запрос:
- Выбор каждой любимой пищи Боба.
- Затем выберите каждого человека, который поделится хотя бы одной подобной любимой едой с Бобом.
- Список найденных имен.
Так что я ищу что-то вроде назад ссылка.
В этом примере это должно было бы привести к: Бобу нравится мороженое и рыба. &Chipy; Марк, Питер и Трейси, по крайней мере, одна еда, которую любит Боб. Итак, Марк, Питер и Трейси перечислены.
Я думал, что делать что-то вроде
SELECT fk_people_id FROM [...join the tables here...] WHERE favorit_food_id IN (
SELECT fk_favorite_food_id [...join the tables here...])
ли это путь, или есть более подходящее понятие, которое я должен использовать?
Возможно, я должен упомянуть, что таблица, которую я хочу запросить, действительно огромный (Миллионы записей).
Это то, что я хотел. Спасибо! – Aufwind