【发布时间】:2021-06-29 12:35:32
【问题描述】:
我的数据库中有一个包含 2 列的表:name 和 families,它们都是 varchar。例如:
name families
----------------------
A 'B','C'
B 'A'
C 'A','B'
...
现在我想获取行,其名称在第一行的家庭列中提到。我试过了:
SELECT * FROM t JOIN (SELECT families FROM t WHERE name='A') AS z WHERE name IN (z.families)
但它不返回任何行。有什么问题?
【问题讨论】:
-
修复你的数据模型!不要在单个列中存储多个值!
-
@Gordon 那么对我来说最好的方法是什么?如您所见,家庭不是唯一的,例如
B在A和C的家庭列中