【发布时间】:2012-09-23 08:56:26
【问题描述】:
我有一张person 的桌子和一张language 的桌子。每个人最多可以说 4 种语言。我的客户想要搜索会说话的人,例如Spanish。
我的问题是结果表目前没有名为Language 的列,因为它们会说多个。我可以只显示第一个,但隐藏他们说的其他语言会产生误导。
表格可以为每种语言提供一列,如果它们没有全部 4 种语言,请填写 NULL,即:
Language 1
Language 2
Language 3
Language 4
但这似乎很草率。
我考虑过在一个列中列出所有语言,使用逗号分隔的列表,但这对于按字母顺序对列进行排序很有用。
目前,我不得不告诉我的客户,结果表只能显示该人拥有其中之一的列(1 到 1),即name、location、母语等。只有当客户点击那个人,它会显示他们所有的语言。
有谁知道是否有解决此问题的通用方法?希望这是有道理的
我确实有一个关联表。问题是我的搜索会返回
joe bloggs,哥谭市,西班牙语
然后
joe bloggs,哥谭市,法语
在下一行 - 但是同一个人在表中列出了两次。当我将其限制为每个名称一个条目时,我只会得到“joe bloggs, gotham city, spanish”。现在我不知道他还会说法语。这更清楚了吗?
【问题讨论】:
-
你的表结构到底是什么,你的查询是什么?您想要一个包含所有人员语言的一行结果集吗?
-
请检查如何标记答案。如果你的回答率不好,很多人以后不会回答你的问题。
标签: mysql