Несколько столбцов указываются в агрегированном выражении, содержащем внешнюю ссылку - PullRequest
4 голосов
/ 14 февраля 2011

следующий запрос дает ошибку.

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 при выборе второй стороны, выдавая следующую ошибку.

В агрегированном выражении, содержащем внешнюю ссылку, указано несколько столбцов. Если агрегируемое выражение содержит внешнюю ссылку, то эта внешняя ссылка должна быть единственным столбцом, на который ссылается выражение.

Ответы [ 2 ]

4 голосов
/ 14 февраля 2011

Чтобы исправить проблему синтаксиса, вам просто нужно переместить ссылку на 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.

0 голосов
/ 14 февраля 2011

это должно выглядеть примерно так:

SELECT job.job, SUM((jrt_sch.setup_ticks / 100) + 
((jrt_sch.run_ticks_lbr / 100) *      job.qty_released)) plnlbr
from job join jrt_sch on jrt_sch.job=job.job
where job.job ='J000069762' and job.suffix='0'
group by job.job 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...