Update i count

0

Witam, mam tabelę process oraz items, dla każdego procesu o nazwie "work' wyliczam ile było itemów będących pomiędzy start i stop procesu.
Jak mogę do kolumny amount dodać obliczoną ilość?

Dla zapytania:

WITH t AS 
(
SELECT 
    p.[proc_id]
	,count(*) ilosc
	
	FROM process p
  
  left join items as i
  on p.[user] =i.[user]
  
  where 
  p.proc_name = 'work'
  and
   i.[save] between p.[proc_start] and p.[proc_stop]
  group by p.[proc_id]

) 

UPDATE 
 t
SET p.[proc_amount] = ilosc

Otrzymuję błąd:

The multi-part identifier "p.proc_amount" could not be bound.
1

Zakładam że chcesz aktualizowac tabele process a nie tabele CTE zwaną "t":

 UPDATE [process]
 SET pr.[proc_amount] = t.[ilosc]
 
FROM process pr INNER JOIN t
ON pr.[proc_id] = t.[proc_id]

Ps. Część z With wrzucasz bez zmian.

0

Zgadza się, tabela process powinna się zaktualizować,
Niestety otrzymałem ten sam błąd dla

pr.[proc_amount]

Zadziałało z drobną modyfikacją:

update [process]
SET [proc_amount]=t.[ilosc]
from [process]
INNER JOIN
t
on [process].[proc_id]= t.[proc_id]

Dzięki wielkie

1 użytkowników online, w tym zalogowanych: 0, gości: 1