Отсутствует выражение, а затем групповая функция не допускает ошибки - PullRequest
1 голос
/ 23 февраля 2011

Мне интересно, что я делаю не так.У меня есть 2 таблицы
ODETAILS и ORDERS

ODETAILS имеет следующие столбцы: ONO, PNO, QTY, COST
ORDERS имеет следующие столбцы: ONO, CNO, ENO, ПОЛУЧЕНО, ОТПРАВЛЕНО, ORDER_COST

UPDATE ORDERS
SET ORDER_COST= 1 *  SUM(
    SELECT COST
    FROM ODETAILS
    WHERE ORDERS.PNO=ODETAILS.PNO
    )
;

Ответы [ 2 ]

0 голосов
/ 02 марта 2011

ХА.догадаться.в таблице ORDERS нет PNO.

UPDATE ORDERS
SET ORDER_COST= 
    (SELECT sum(COST)
    FROM ODETAILS
    WHERE ORDERS.ONO=ODETAILS.ONO);
0 голосов
/ 24 февраля 2011

попробуйте это. (сумма была в неправильном месте)

UPDATE ORDERS
SET ORDER_COST= 1 *  (
    SELECT SUM(COST)
    FROM ODETAILS
    WHERE ORDERS.PNO=ODETAILS.PNO
    )
;
...