Mysql 以逗号分隔列,然后搜索其他匹配值?
想知道在mysql中是否有更简单的方法来实现这一点,而不是在PHP中每行循环一次查询。我需要为每个不同的ID获取具有相同类别的其他ID,然后将它们作为另一列输出,最好是以空格或逗号分隔。进一步的增强是搜索多个类别,并在逗号分隔的类别匹配时加入ID 我有一张这样的桌子:Mysql 以逗号分隔列,然后搜索其他匹配值?,mysql,Mysql,想知道在mysql中是否有更简单的方法来实现这一点,而不是在PHP中每行循环一次查询。我需要为每个不同的ID获取具有相同类别的其他ID,然后将它们作为另一列输出,最好是以空格或逗号分隔。进一步的增强是搜索多个类别,并在逗号分隔的类别匹配时加入ID 我有一张这样的桌子: id name category 100 Thing0 Blue 101 Thing1 Red 102 Thing2 Blue,Red 103 Thing3 Blue id catego
id name category
100 Thing0 Blue
101 Thing1 Red
102 Thing2 Blue,Red
103 Thing3 Blue
id category new_col
100 Blue 102 103
101 Red 102
102 Blue,Red 100 101 103
103 Blue 100 102
我需要这样的输出:
id name category
100 Thing0 Blue
101 Thing1 Red
102 Thing2 Blue,Red
103 Thing3 Blue
id category new_col
100 Blue 102 103
101 Red 102
102 Blue,Red 100 101 103
103 Blue 100 102
问题id中的行是否放在新列中无关紧要。非常感谢您的帮助…每个项目的最大类别数是多少?(请不要说“unlimited”,除非它真的是unlimited)这已经够复杂了,而且在SQL中做的事情也够难的了,我可能会创建一个控制台应用程序来实现这一点。不太可能超过3个类别。我想可能有一些mysql可以优化,而不是每个id的类别匹配查询,但也许它不仅仅是一个查询可以完成的。。。