MYSQL-在多个相同列值中匹配值

时间:2014-11-25 08:47:43

标签: mysql sql stored-procedures

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

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

我的问题是,我想检查列团队中的值是否是同一列团队中任何值的子集(它不应该在列团队中检查它自己的值),如果该值是真的然后我想删除那个有该值的行。它应该运行列团队的所有值。

OUTPUT表将是这样的

   ---------------------------
   |ID|    Team          |Task|
   ---------------------------
   |1 |team1,team2,team5 |23  |
   |2 |team3,team2       |34  |
   |3 |team1,team5,team3 |45  |
   ----------------------------

正如您在team5中看到的那样是{team2,team5},{team1,team5,team3} and {team1,team2,team5}的子集,与team1 ,{team2,team5} ,{team1,team3}, team2相同,它们也会被删除,因为它们是列团队中某些值的子集。

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

0 个答案:

没有答案