将 78 个特定代码从创建的表连接到链接表。不能使用 IN() 函数(字符限制),不能做 RI

Posted

技术标签:

【中文标题】将 78 个特定代码从创建的表连接到链接表。不能使用 IN() 函数(字符限制),不能做 RI【英文标题】:join 78 specific codes from created table to linked table. Can't use IN() function (character limit), Can't do RI 【发布时间】:2014-01-31 19:11:46 【问题描述】:

我有一个要从中提取数据的数据库 (Access 2010),但我正在努力让提取特定案例变得更容易,而不是在 Excel 中胡思乱想。

我们将大约 78 种产品类型代码归类为特定帐户类型。不幸的是,我不能使用 IN() 函数,因为字符太多(有 1024 个字符的限制)。我在网上寻求帮助,有人建议我制作一个表格来内部连接我想要的产品代码。

我用我想要提取的代码创建了一个表,然后加入到链接数据库表中的 productcodetype 上。不幸的是,当我运行 sql 时,什么都没有显示,只是空白。我尝试了不同的连接组合但无济于事,进一步阅读并发现您无法对来自非链接数据库表的链接数据库表强制执行参照完整性。

我认为这是我的问题,但我不确定,我不知道我是否使用了正确的语言,但我找不到与我类似的问题,所以我希望这很容易修复,我只是没有以正确的方式思考它。

当我无法在链接数据库中创建新表时,有什么方法可以使用 IN() 或参考表从大型数据库中选择某些案例(78 种产品类型代码)?

谢谢你, 克

【问题讨论】:

【参考方案1】:

您必须使用两个表并构建一个连接它们的查询。如果您的连接没有返回任何结果,请确保连接的字段具有相同的数据类型并且共享相同的值。

如果您的数据源是 Excel,请确保没有任何尾随空格或其他“不可见”字符。

【讨论】:

谢谢mnieto!实际上,我在制作表格时仔细检查了我从 Excel 中粘贴的产品代码列表。我没有发现任何错误,但我发现即使没有强制执行 RI,该表已与所有相关产品代码匹配。所以这让我想为什么它没有出现。我重新创建了查询,结果发现有一个错误(?),如果您在“最大记录”属性中输入任何数字,则不会显示任何内容。将其留空实际上填充了我的查询,而当我最多输入 200 个案例时,什么都没有出现。很奇怪。

以上是关于将 78 个特定代码从创建的表连接到链接表。不能使用 IN() 函数(字符限制),不能做 RI的主要内容,如果未能解决你的问题,请参考以下文章

如何将带有前缀列的表连接到 PHP MySQL 或 Laravel 中的另外两个表

将不同的表连接到 C# 组合框中的不同项目

将两个部分匹配的表连接到完全匹配

如何将学生和评估表连接到一个视图中?

将具有多列值的表连接到具有多行值的表

Hibernate:如何在注释中将三个 3 表连接到一个连接表中?