gpt4 book ai didi

sql - 奇怪的 MS Access 联盟问题 : Union is not actually union

转载 作者:行者123 更新时间:2023-12-04 21:23:56 26 4
gpt4 key购买 nike

使用带有 SQL Server 后端的 MS Access,我有一个表基本上存储来自另一个表的参数字段的分组。

例如,我将参数存储在 TBL_Parameter 中:(只是数据的一个非常小的子集)

ParameterIron (Fe)Iron (Fe)-DissolvedIron (Fe)-Total

The table, TBL_ParentParameter looks like this:

Parent        ChildIron (Fe)     Iron (Fe)-DissolvedIron (Fe)     Iron (Fe)-Total

Then I want to create a query to combine all parameters not contained as a child in TBL_ParentParameter with all the ones that are contained in TBL_ParentParameter, so I made the following union query:

SELECT Parameter, Parameter AS Child
FROM TBL_Parameter
WHERE Parameter NOT IN(SELECT Child FROM TBL_ParentParameter)
UNION
SELECT Parent AS Parameter, Child
FROM TBL_ParentParameter

这具有以下预期结果:

Parent        ChildIron (Fe)     Iron (Fe)Iron (Fe)     Iron (Fe)-DissolvedIron (Fe)     Iron (Fe)-Total

而是给出:

Parent               ChildIron (Fe)            Iron (Fe)Iron (Fe)-Dissolved  Iron (Fe)-DissolvedIron (Fe)-Total      Iron (Fe)-Total

现在,联合查询中的每个查询都可以单独运行,但是当联合查询时,它们就不能正常运行了。我已经尝试过这个完全相同的查询作为直接到 SQL 服务器的直通查询,它工作得很好,但是如果我将其他查询基于这个查询,我发现它可能需要更长的时间来运行。那么有人知道这里的问题是什么吗?这是某种 MS Access 错误吗?还是我看错了?

已解决:这似乎是 MS Access 的一个错误,颠倒两个联合子查询的顺序解决了这个问题。

最佳答案

您的查询是正确的。我运行了它,得到了您发布的倒数第二个代码块。

关于sql - 奇怪的 MS Access 联盟问题 : Union is not actually union,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11870326/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com