【发布时间】:2016-11-30 17:31:22
【问题描述】:
MS Access Database 2010,创建了以下表格:
BazaNalaza 栏目:
- ID - 自动编号
- ReportID - 编号
- ResponsibleUnit - 数字,多值字段,链接到 ResponsibleUnits 表
责任单位:
- ID - 自动编号
- 姓名 - 文字
- CompanyLine - 文本
ResponsibleUnits 包含以下数据:
ID + Name + CompanyLine
++++++++++++++++++++++++++++++
1 + ItOps + Technology
2 + IdDev + Technology
3 + CRM + Marketing
4 + Legal + ExCo
5 + ItDWH + Technology
以下 SQL 查询工作正常:
SELECT * FROM BazaNalaza
WHERE BazaNalaza.ResponsibleUnit.Value IN (1,2,5)
但是,以下代码不起作用:
SELECT * FROM BazaNalaza
WHERE BazaNalaza.ResponsibleUnit.Value IN (SELECT ID FROM ResponsibleUnits WHERE CompanyLine = "Technology")
第二个查询仅适用于 bazaNalaza.ResponsibleUnit 中的值以 1、2 或 5 开头的行,而包含例如(3,5) 或 (4,5) 或 (3,4,5) 不在结果集中。
有什么想法吗?
【问题讨论】:
-
我建议不要使用多值字段,它们仍然有问题。
标签: sql ms-access ms-access-2010 multivalue