MYSQL多次将值与同一列中的值进行匹配

MYSQL多次将值与同一列中的值进行匹配,mysql,sql,stored-procedures,Mysql,Sql,Stored Procedures,我有一个名为Team的表,其中表包含3列(ID、Team、Task)。它的数据类型是(INT,VARCHAR(255),INT)。下面是一个示例表,我想在其中对列team执行查询 ----------------------------- |ID| Team |Task | ----------------------------- |1 |team1,team2,team5 |23 | |2 |team3,team2 |34

我有一个名为Team的表,其中表包含3列(ID、Team、Task)。它的数据类型是
(INT,VARCHAR(255),INT)
。下面是一个示例表,我想在其中对列team执行查询

   -----------------------------
   |ID|        Team      |Task |
   -----------------------------
   |1 |team1,team2,team5 |23   |
   |2 |team3,team2       |34   |
   |3 |team1,team5,team3 |45   |
   |4 |team2             |2    |
   |5 |team1,team3       |65   |
   |6 |team2,team5       |4    |
   |7 |team1             |34   |
   |8 |team5             |67   |
   ----------------------------- 
我的问题是,我想检查列团队中的值是否是同一列团队中的任何值的子集(它不应该检查列团队中自己的值),如果该值为真,那么我想删除具有该值的行。它应该为列团队的所有值运行

   -----------------------------
   |ID|        Team      |Task |
   -----------------------------
   |1 |team1,team2,team5 |23   |
   |2 |team3,team2       |34   |
   |3 |team1,team5,team3 |45   |
   |4 |team2             |2    |
   |5 |team1,team3       |65   |
   |6 |team2,team5       |4    |
   |7 |team1             |34   |
   |8 |team5             |67   |
   ----------------------------- 
输出表如下所示

   ---------------------------
   |ID|    Team          |Task|
   ---------------------------
   |1 |team1,team2,team5 |23  |
   |2 |team3,team2       |34  |
   |3 |team1,team5,team3 |45  |
   ----------------------------
正如您在team5中所看到的,
{team2,team5},{team1,team5,team3}和{team1,team2,team5}
,与
team1,{team2,team5},{team1,team3},team2}的子集相同,它们也将被删除,因为它们是team列中某个值的子集


如果有其他方法可以做到这一点,请告诉我。在初始表中,我使用了group_concat函数来获取与特定ID相关的所有值。

Simple。看见normalization@Strawberry:请引导me@Strawberry:如果我以某种方式进行规范化,那么我将再次达到应用group_concat()的相同情况。这就是为什么我为特定ID合并了所有团队值,之后我必须对此执行这样的子集操作。在我看来,MySQL中的组_CONCAT是解决方案(的一部分)没有问题。所以,我建议您重新开始,使用“初始表”,不管它是什么。