我有一张像:
id name children
1 Roberto Michael,Dia
2 Maria John,Alex
3 Mary Alexandre,Diana
我的问题是;
我想找到谁有一个名叫亚历克斯的 child 。
我不能用
"where children = 'Alex'"
在 SQL 中,因为我在相同的单元格中有多个名称。所以我使用
"where children LIKE '%Alex%'"
- 看起来很聪明但是同时我开始像亚历克斯一样:(亚历山大
或者我想得到 dia 但结果是 dia 和 diana :(
我怎样才能获得那种数据类型的单个亚历克斯?
我希望我能用我糟糕的英语解释我的问题:D
最佳答案
最好的解决方案是规范化您的架构。您应该有一个单独的表格,每个 child 都有一行,而不是逗号分隔的列表。然后您可以加入此表以查找具有特定子项的父项。有关此示例,请参阅 @themite 的回答。
但是如果由于某种原因你不能这样做,你可以使用 FIND_IN_SET
:
WHERE FIND_IN_SET('Alex', children)
关于php - 查询一列中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28639692/