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

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')

Но ИМХО это немного громоздко.
 

ForJest

- свежая кровь
Запихать их в таблицу и пользовать операции реляционной алгебры.
 

ForJest

- свежая кровь
пересечение двух множеств реализовать несложно:
SELECT *
FROM set1_table AS t1
INNER JOIN set2_table AS t2 ON t2.id = t1.id
 

ddurach

Новичок
Наверное я неправильно выразился. FIND_IN_SET ищет вхождение первого параметра во второй строке, представляя ее как массив строк разделенных запятой, т.е. FIND_IN_SET('1','2,3,4,1') вернет 4

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