开发者社区> 问答> 正文

查询列中的多个值

我有一张像这样的桌子:

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?

展开
收起
保持可爱mmm 2020-05-10 18:27:56 487 0
1 条回答
写回答
取消 提交回答
  • 最好的解决方案是规范您的架构。您应该有一个单独的表,每个子表都有一行,而不是用逗号分隔的列表。然后,您可以与该表连接以查找具有特定子项的父项。有关此示例,请参见@themite的答案。

    但是,如果由于某种原因您不能这样做,则可以使用FIND_IN_SET:

    WHERE FIND_IN_SET('Alex', children)

    2020-05-10 18:28:06
    赞同 展开评论 打赏
问答分类:
SQL
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载