我有一张像这样的桌子:
id name children 1 Roberto Michael,Dia 2 Maria John,Alex 3 Mary Alexandre,Diana
我的问题是;我想找到谁有一个叫亚历克斯的孩子。
我无法"where children = 'Alex'"在SQL中使用,因为在同一单元格中有多个名称。
"where children = 'Alex'"
所以我用"where children LIKE '%Alex%'"-看起来很聪明,但同时我像Alex一样开始一切:( Alexandre或我想获得dia,但结果是dia和diana :(
"where children LIKE '%Alex%'"
如何获得该数据类型的单个Alex?
我希望我能用我的英语不好来解释我的问题:D
最好的解决方案是规范您的架构。您应该有一个单独的表,每个子表都有一行,而不是用逗号分隔的列表。然后,您可以与该表连接以查找具有特定子项的父项。有关此示例,请参见@themite的答案。
但是,如果由于某种原因您不能这样做,则可以使用FIND_IN_SET:
FIND_IN_SET
WHERE FIND_IN_SET('Alex', children)