以下查询给出错误。
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/