簡體   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