Код (Text): Blog { ID Int ... } blogTag { ID Int blogID Int tag String } Допустим пользователь хочет увидеть блоги у которых есть 2 тага: tag1 и tag2. Тогда мы сначала ищем блоги по каждому тагу: Код (Text): SELECT _blogID FROM blogTags WHERE _tag='tag1' Код (Text): SELECT _blogID FROM blogTags WHERE _tag='tag2' Получаем 2 массива с блогами. Теперь надо выбрать только те блоги, которые есть и в первом и втором массиве. Как? Вот на псевдо SQL чё я хотел бы: Код (Text): SELECT * FROM blog WHERE _ID = EXTRACT_MATCH ( SELECT _blogID FROM blogTags WHERE _tag='tag1', SELECT _blogID FROM blogTags WHERE _tag='tag2' )
Решил сам!!!! Код (Text): SELECT * FROM blog WHERE (_ID in (SELECT _blogID FROM blogTags WHERE _tag='таг1')) AND (_ID in (SELECT _blogID FROM blogTags WHERE _tag='таг2'))" Помогло это: http://www.intuit.ru/department/database/cdba/5/