2013-11-17 4 views
0

мне нужно обновить значения в таблице с (собственным значением) - (значение в другой таблице Like) для идентификаторакак обновить значение в таблице из другой таблицы

Я попытался это

UPDATE FULLTABLE 
      SET FULLTABLE.Balance = FULLTABLE.Balance - AdvBalance.balance 
      WHERE FULLTABLE.id= AdvBalance.advid; 

и это

update fulltable f set f.balance = (f.balance - 

select a.balance from advbalance a where a.advid=f.advertiserID) 

первым бросает ошибку, что неверный идентификатор. второй - еще одна ошибка.

Я использую oracle db.

Пожалуйста, предложите способ сделать это.

Благодаря

ответ

0

Вам нужно подвыбор, чтобы получить значение из другой таблицы:

UPDATE FULLTABLE ft 
    SET ft.Balance = ft.Balance - (SELECT ab.balance 
            FROM AdvBalance ab 
           WHERE ft.id = ab.advid); 

Это будет ошибкой, если это возможно, что подзапрос будет возвращать более одной строки, но если это случае, вы должны решить, как найти нужное значение для вычитания.

Смежные вопросы