Помогите составить sql запрос, выводящий парные элементы из одной таблицы

Рейтинг: -5Ответов: 1Опубликовано: 11.04.2015

Итак,задача,приведенная к сферическому виду в вакууме - Дано:

TABLE mytable 
  INT id (primary_key)
  TEXT target ('id1,id2,id3 ... ')//id других полей из этой же таблицы, через запятую
  BOOL condition (true/false)//на самом деле условие гораздо сложнее

Один элемент может быть парным сразу к нескольким. Но в базу они попадают строго попарно.

Задача: Получить в результате mysql-запроса только парные поля (такие, что id первой есть в targets второй,id второй есть в targets первой и condition у них обоих true)

UP: Решение для выборки всех полей по такому условию. Как мне теперь приделать к нему limit так, чтобы по прежнему получать только парные элементы? Если просто в лоб приписать туда лимит, то пары к некоторым полям попадают под него,и поле остается без пары. Я пробовал с помощью UNION получать поля сразу попарно, но у меня из этого ничего не вышло, т.к. я не смог связать запросы между собой.

P.S. в моих реальных условиях limit на входе от 8 и больше,кратный четырем,но интересно было бы увидеть общее решение. 3 элемента тоже могут быть попарно между друг другом связаны.

Ответы

Ответов пока нет.