繁体   English   中英

为什么MS Access 2010 SQL在此查询上令人窒息?

[英]Why is MS Access 2010 SQL choking on this query?

以下查询将不会显示在设计视图中,并且如果您尝试使其显示在屏幕上,则会锁定MS Access,并且您必须使用任务管理器来停止MS Access。 该查询实际上在运行并产生正确的结果。 如果有更好的方法,我当然会接受。

SELECT
    log_metric_N.metric_title,
    log_metric_N.metric_N
FROM
    (
        SELECT
                tref_log_metrics_weights_and_factors.metric_title,
                [metric_base].[metric_count],
                [metric_base].[metric_sum],
                (([metric_base].[metric_count]*[tref_log_metrics_weights_and_factors].[metric_weight])/[metric_base].[metric_sum]) AS metric_N
            FROM
                tref_log_metrics_weights_and_factors,

                (
                    SELECT 
                        Count(tref_log_metrics_weights_and_factors.metric_weight) AS metric_count, 
                        Sum(tref_log_metrics_weights_and_factors.metric_weight) AS metric_sum
                    FROM 
                        tref_log_metrics_weights_and_factors
                    WHERE (((tref_log_metrics_weights_and_factors.metric_weight)<>0))
                ) as metric_base

    )  AS log_metric_N;

@HansUp您完全正确。 我忘了所有关于Domain函数的知识,它们完美地工作而没有复杂性。 下面是生成的SQL语句。

SELECT
    tref_log_metrics_weights_and_factors.metric_title,
    DCount("[metric_weight]","tref_log_metrics_weights_and_factors","[metric_weight]<>0") AS metric_count,
    Dsum("[metric_weight]","tref_log_metrics_weights_and_factors") AS metric_sum,
    (([metric_count]*[tref_log_metrics_weights_and_factors].[metric_weight])/[metric_sum]) AS metric_N
FROM
    tref_log_metrics_weights_and_factors

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM