我有一张像这样的桌子:
id name children 1 Roberto Michael,Dia 2 Maria John,Alex 3 Mary Alexandre,Diana 我的问题是;我想找到谁有一个叫亚历克斯的孩子。
我无法"where children = 'Alex'"在SQL中使用,因为在同一单元格中有多个名称。
所以我用"where children LIKE '%Alex%'"-看起来很聪明,但同时我像Alex一样开始一切:( Alexandre或我想获得dia,但结果是dia和diana :(
如何获得该数据类型的单个Alex?
最好的解决方案是规范您的架构。您应该有一个单独的表,每个子表都有一行,而不是用逗号分隔的列表。然后,您可以与该表连接以查找具有特定子项的父项。有关此示例,请参见@themite的答案。
但是,如果由于某种原因您不能这样做,则可以使用FIND_IN_SET:
WHERE FIND_IN_SET('Alex', children)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。