我有一个包含 ID、日期和逗号分隔字段的表。 例如值如:
id date options
1 2013-12-26 3006,3009,4010
2 2013-12-25 3002,3001,5090
3 2013-12-24 2909,1012,6089
4 2013-12-23 3001,4009,5008
查询特定日期后,例如2013-12-26 我得到的结果是 3006,3009,4010 现在我有另一个表 2,其中包含这些个人编号。带有附加字段。
根据这些结果,我需要创建一个表单来分别显示这些 3006,3009,4010 的结果..
如: 3006 表 2 值中具有此值的所有行的内容可能是固定的或表单的某些输入字段,因此如果我在提交后在此创建的表单中输入值,我应该得到下一个编号。即 3009 等等。
我能够显示这些 nos 的所有结果。在一起,但我需要让他们分开。这样我就得到 3006 提交表格的结果 3009 提交表格的结果 4010 提交表格的结果。等等
最佳答案
您可以使用 FIND_IN_SET()功能。
试试这个:
SELECT a.id, a.date, a.options, b.*
FROM tableA a
INNER JOIN tableB a ON FIND_IN_SET(b.id, a.options)
注意: 就我而言,将多个 ID 存储在单个记录中并不是好的表设计。 不要设计这种类型的表。尝试创建映射表,其中映射了两个表 ID。尝试在 1NF 或超过适用的范围内创建数据库
多对多关系的示例:
关于mysql - 从逗号分隔值查询结果并查询要显示的每个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20781923/