как использовать возвращаемое значение счетчика в sql - PullRequest
0 голосов
/ 28 ноября 2011

Я пытаюсь использовать значение, перенастроенное на количество, в операторе обновления. Но получаю синтаксическую ошибку. Подзапросы работают. Но запрос на обновление не работает. Какие изменения необходимы для получения правильного результата?

update Items set numberOfBids = count (select * from Bids where id ='1673078805') where id='1673078805';    
Error: near "select": syntax error


sqlite> select * from Bids where id ='1673078805';
1673078805|brettgodfrey|14.52|2001-12-05 10:40:41
1673078805|gardnerstoys|15.04|2001-12-06 07:40:41
1673078805|tallulahbankhead|14.01|2001-12-04 13:40:41
1673078805|tgrhino@home.com|15.55|2001-12-07 04:40:41
1673078805|yesterdaysgem|16.06|2001-12-08 01:40:41


sqlite> update Items set numberOfBids = 5 where id='1673078805';

Ответы [ 2 ]

5 голосов
/ 28 ноября 2011

Переместите count в подзапрос:

update Items 
set numberOfBids = 
    ( select count(*) 
      from Bids 
      where id ='1673078805' )
where id='1673078805';  
1 голос
/ 28 ноября 2011

Попробуйте этот SQL:

UPDATE Items 
SET numberOfBids = (SELECT count(*) 
                    FROM Bids 
                    WHERE id ='1673078805') 
WHERE id='1673078805';
...