我有一个名为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相关的所有值。