Sql 上述内容在查询生成器中的外观:

Sql 上述内容在查询生成器中的外观:,sql,ms-access,union,multivalue,Sql,Ms Access,Union,Multivalue,请注意,在上文中非常小心地说明如何根据上文扩展mv列的颜色 因此,上述查询的结果如下: 请注意结果如何是一条记录(一行)和一个颜色的多值字段(它们是用户最喜欢的颜色) 注意:在查询生成器中,您可以看到该列,但请注意如何将子列选择为“value”(.value) 因此,我们现在在查询生成器中选择此选项: 生成的sql如下所示: SELECT ID, FirstName, Color.Value FROM customers WHERE ID =4 结果是: 请注意一行是如何变成3行的。这实

请注意,在上文中非常小心地说明如何根据上文扩展mv列的颜色

因此,上述查询的结果如下:

请注意结果如何是一条记录(一行)和一个颜色的多值字段(它们是用户最喜欢的颜色)

注意:在查询生成器中,您可以看到该列,但请注意如何将子列选择为“value”(.value)

因此,我们现在在查询生成器中选择此选项:

生成的sql如下所示:

SELECT ID, FirstName, Color.Value FROM customers
WHERE ID =4
结果是:

请注意一行是如何变成3行的。这实际上就像是子表的左连接。这意味着我们可以在这个列上排序

因此,只需构建一个查询,在该查询中放入.value列,然后就可以根据需要对报表中的数据进行排序和分组


所有A类项目都应首先显示,然后再显示其他任何记录。因此include.value将分解或“扩展”结果查询,就像它是一个单独的表一样。因此,您可以根据此结果对报表进行排序。

请记住,大多数多值数据库系统都能够执行所谓的爆炸式选择或排序。事实证明,Access也具有这种能力

假设以下查询:

SELECT ID, FirstName, Color FROM customers
WHERE ID = 4
请注意以上内容在查询生成器中的外观:

请注意,在上文中非常小心地说明如何根据上文扩展mv列的颜色

因此,上述查询的结果如下:

请注意结果如何是一条记录(一行)和一个颜色的多值字段(它们是用户最喜欢的颜色)

注意:在查询生成器中,您可以看到该列,但请注意如何将子列选择为“value”(.value)

因此,我们现在在查询生成器中选择此选项:

生成的sql如下所示:

SELECT ID, FirstName, Color.Value FROM customers
WHERE ID =4
结果是:

请注意一行是如何变成3行的。这实际上就像是子表的左连接。这意味着我们可以在这个列上排序

因此,只需构建一个查询,在该查询中放入.value列,然后就可以根据需要对报表中的数据进行排序和分组


所有A类项目都应首先显示,然后再显示其他任何记录。因此include.value将分解或“扩展”结果查询,就像它是一个单独的表一样。因此,您可以根据此结果对报表进行排序。

欢迎使用关系格式的多值字段。如果我们看到一些疑问,我们将能够提供帮助,但你的问题目前无法得到答案。向我们展示一些查询,也许还有一行示例。欢迎使用关系格式的多值字段。如果我们看到一些疑问,我们将能够提供帮助,但你的问题目前无法得到答案。向我们展示一些问题,也许是一个示例行。这很有效,所以我将其标记为答案,但我确实对此有一点不满-它非常慢。对于我的大约100条记录的小表,计算查询需要几秒钟的时间。这并不是世界末日,因为我不希望有超过200条记录,但如果有一个更快的解决方案那就太好了。当然,最好的方法是如果我们能找到某种使用计数而不是数据计数的方法。太棒了!它工作得很好,而且运行得很快。我花了一段时间来理解你的代码,并弄明白它为什么能工作。。。这离阿尔伯特·D·卡尔拉尔的答案不远,但有一个额外的转折点。这很有效,所以我把它标记为答案,但我确实对此有一点不满——它非常慢。对于我的大约100条记录的小表,计算查询需要几秒钟的时间。这并不是世界末日,因为我不希望有超过200条记录,但如果有一个更快的解决方案那就太好了。当然,最好的方法是如果我们能找到某种使用计数而不是数据计数的方法。太棒了!它工作得很好,而且运行得很快。我花了一段时间来理解你的代码,并弄明白它为什么能工作。。。这与Albert D.Kallal的答案相去甚远,但有一个额外的转折点。实际上我已经试过了,问题是如果某个东西同时出现在1类和2类中,那么它会出现不止一次。我尝试只选择唯一值,但Access不允许在涉及多值字段的情况下选择唯一值。请参阅Gord Thompson新编辑的答案,该答案与您的答案类似,但为了解决我提到的问题,增加了一些技巧。实际上我已经尝试过了,问题是,如果某个东西同时出现在类别1和类别2中,那么它会出现不止一次。我尝试只选择唯一值,但Access不允许在涉及多值字段的情况下选择唯一值。请参阅Gord Thompson最新编辑的答案,该答案与您的答案类似,但为了解决我提到的问题,增加了一些技巧。