我在 MS Access 中有以下 SQL 查询。我试图通过标记为“响应”的列中包含的表达式的结果对输出进行排序。我的问题是,当我运行查询时,Access 提示我输入 Response 的参数值。我试着输入零和一,看看会发生什么。查询在这些情况下运行,但排序顺序错误。有人可以向我解释为什么这个查询需要一个参数吗?难道我做错了什么?
SELECT Market,
Sum(Calls) AS SumOfCalls,
Sum([A25-54 IMPs] * 1000) AS Impressions,
Round(SumOfCalls/Impressions, 6) AS Response
FROM DRTV_CentralOnly
WHERE [Creative]<>'#N/A'
GROUP BY Market
ORDER BY Response Desc;
最佳答案
它不需要参数。问题是您在 Response
中使用了列别名。柱子。您需要改用实际计算。
SELECT Market
, Sum(Calls) AS SumOfCalls
, Sum([A25-54 IMPs] * 1000) AS Impressions
, Round(Sum(Calls)/Sum([A25-54 IMPs] * 1000), 6) AS Response
FROM DRTV_CentralOnly
WHERE [Creative]<>'#N/A'
GROUP BY Market
ORDER BY 4 Desc;
关于sql - 为什么这个查询需要一个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9705176/