Пересечение множеств

  • Автор темы Автор темы ddurach
  • Дата начала Дата начала

ddurach

Новичок
Пересечение множеств

Есть 2 строки, например '1,2,3' и '3,4,5' представляющие собой множества. Каким образом, наиболее просто проверить пересекаются ли они, т.е. результатом может быть ли '3' или true?

Запасным вариантом вижу только
FIND_IN_SET('1', '3,4,5') OR FIND_IN_SET('2', '3,4,5') OR FIND_IN_SET('3', '3,4,5')

Но ИМХО это немного громоздко.
 
Запихать их в таблицу и пользовать операции реляционной алгебры.
 
пересечение двух множеств реализовать несложно:
SELECT *
FROM set1_table AS t1
INNER JOIN set2_table AS t2 ON t2.id = t1.id
 
Наверное я неправильно выразился. FIND_IN_SET ищет вхождение первого параметра во второй строке, представляя ее как массив строк разделенных запятой, т.е. FIND_IN_SET('1','2,3,4,1') вернет 4

Мне нужно реализовать пересенение именно таких строк. Как я понял это невозможно стандартными средствами SQL
 
Сверху