sql-server-2005 - 在包含外部引用的聚合表达式中指定了多个列

标签 sql-server-2005

以下查询给出错误。

SELECT job.job,
    (
        SELECT SUM((jrt_sch.setup_ticks / 100) + ((jrt_sch.run_ticks_lbr / 100) * job.qty_released))
        FROM jrt_sch
        WHERE jrt_sch.job = job.job
        ) plnlbr
FROM job
WHERE job.job = 'J000069762'
    AND job.suffix = '0'

我无法在第二个选择中使用 job.qty_released 给出以下错误。

在包含外部引用的聚合表达式中指定了多个列。如果聚合的表达式包含外部引用,则该外部引用必须是表达式中唯一引用的列。

最佳答案

要解决语法问题,您只需将引用移至 job.qty_released括号外。

SELECT job.job,
    job.qty_released * (
        SELECT SUM((jrt_sch.setup_ticks / 100) + ((jrt_sch.run_ticks_lbr / 100)))
        FROM jrt_sch
        WHERE jrt_sch.job = job.job
        ) plnlbr
FROM job
WHERE job.job = 'J000069762'
    AND job.suffix = '0'

我倾向于将此查询写为 join尽管。

关于sql-server-2005 - 在包含外部引用的聚合表达式中指定了多个列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4991847/

相关文章:

sql-server - 在 SELECT 语句中使用参数化函数调用。数据库服务器

sql-server - 从SQL Server数据库图隐藏关系

SQL Profiler 不显示插入/删除/更新

sql-server - 计算每个产品(Inkcode)库存

sql-server - 监视 SQL Server 2005 的帐户事件

sql-server-2005 - SQL Server 索引 - 创建后初始性能缓慢

c# - 测试 Windows 服务时出现问题

sql - 我需要将专为 MySQL 设计的查询翻译为适用于 SQL Server 2005

c# - 如何让SqlConnection超时更快

sql-server-2005 - 何时在 SQL Server 2005 中使用临时表