1

我有一个带有 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等等。

我能够显示这些编号的所有结果。在一起,但我需要让他们分开。这样我就得到了 3006 SUBMIT FORM 结果 3009 SUBMIT FORM 结果 4010 SUBMIT FORM 结果。等等

4

1 回答 1

0

您可以使用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 或以上适用的数据库中创建数据库

多对多关系示例:

**多对多关系**

于 2013-12-26T09:03:27.653 回答