Visual Studio 数据库项目物化视图错误 SQL71640:使用此工具创建物化视图时需要 COUNT_BIG(a)

问题描述 投票:0回答:2

我找不到这个问题的解决方案。

我的脚本中有 COUNT_BIG(),并且收到“SQL71640:需要 COUNT_BIG(a)”错误。但是当我将脚本更改为 COUNT_BIG(1) 时,错误将更改为 COUNT_BIG() is required...

我在这里遗漏了什么吗?

SQL71640:使用此工具创建 SELECT 列表中包含 SUM(a) 的物化视图时,需要 COUNT_BIG(a)。

示例脚本:

    CREATE MATERIALIZED VIEW [EDW_DM].[MVW_Fact_Transaction] WITH ( DISTRIBUTION = HASH (H_PlayerHashKey)) AS 
SELECT
   some columns 
   SUM(CAST (ISNULL([Column x], 0) AS MONEY)) AS [Column x],
   SUM(CAST (ISNULL([Column x], 0) AS MONEY)) AS [Column x],
   SUM(CAST (ISNULL([Column x] * [Column x] * 0.0001, 0) AS MONEY)) AS Column x,
   COUNT_BIG(*) AS cb 
FROM
   [EDW_DM].[Fact_Table] 
GROUP BY
    some columns
azure visual-studio azure-synapse materialized-views database-project
2个回答
0
投票

我尝试使用您的代码在我的环境中重现该问题,但出现了相同的错误:

enter image description here

我使用 Visual Studio Installer 将我的 Vs2019 VS2019 更新到最新版本。安装后,我等待了一段时间并尝试运行代码,它成功运行,没有任何错误。欲了解更多信息,您可以参考this


0
投票

我在 Visual Studio 2022 数据库项目中的物化视图项目中遇到了同样的问题。据我从错误消息中了解到,Visual Studio 需要为每个汇总列提供单独的 count_big 。在我添加额外的 count_big 之后,错误就消失了。

VS 中出现错误的 SQL 脚本: 创建物化视图 [dbo].[测试]

WITH(分布=哈希(a))

AS 选择a、b、sum(c)作为sum_c,sum(d)作为sum_d,count_big(*)作为cb

来自我的表 按 a、b 分组

当我编译上面的代码时,出现此错误 SQL71640:使用此工具创建 SELECT 列表中包含 SUM(a) 的物化视图时,需要 COUNT_BIG(a)。

我将脚本更改为以下代码以解决错误消息 创建物化视图 [dbo].[测试]

WITH(分布=哈希(a))

AS 选择a、b、sum(c)作为sum_c,sum(d)作为sum_d,count_big(*)作为cb,count_big(c)作为cb2,count_big(d)作为cb3

来自我的表 按 a、b 分组

© www.soinside.com 2019 - 2024. All rights reserved.