sql - 为什么这个查询需要一个参数?

标签 sql ms-access

我在 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/

相关文章:

SQL:如何将 ID 附加到具有重复值的行

mysql - SQL根据ID查找两行之间的时间差

mysql - 查询 "on"子句不限制加入?

ms-access - 在连续表单上切换标题

database - 比较 Access SQL 查询中的日期

sql - 使用 LIKE 或类似的完整搜索操作搜索 XML

mysql - 如果在mysql中n行的其他两列的值相同,则附加第三列的结果

sql-server - SQL Server 链接服务器到 Microsoft Access

sql-server - 在不同的设置上使 SQL Server 中的 Microsoft Access 表相同

java - 远程连接 Access 数据库?