MySQL 中的选项列表数据排序

Picklist data sorting in MySQL

我有两列 (请检查图像) 我想根据它们创建第三列,说明它们是 'match'

col 1 col 2 Match column
MA;NY NY Match
MA;NY FL Un-match
KS AR;KY;LA;MS Un-Match
KY AR;KY;LA;MS Match

但是,这两列都属于 'picklist' 数据类型,我不确定如何在 mysql 中执行此操作。

P.S 两列都有多个条目,分隔符为“;”,因此逻辑在这两种情况下都成立。 col 1 到 col 2 and col 2 到 col 1

我试过使用 SELECT col 2 IN (SELECT col 1 from table 1) FROM table 2 但是,它只对某些记录有效(奇怪)

如果您在 (但不是两者)col1 或 col2 中有一个值列表,那么您可以这样做:

select
  col1,
  col2,
  find_in_set(col1, replace(col2, ';', ',')) or
  find_in_set(col2, replace(col1, ';', ','))
from t;