sql update kolumny

valverde12345
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Witam próbuje coś takiego zrobić: Do tabeli Products dodaje kolumnę TotalSales. Do niej, dla każdego
produktu chce wpisać sumę ilości na zamówieniach dla tego produktu.

Dodaje kolumne:

Kopiuj
alter table Products add TotalSales int

Dodaje wartości:

Kopiuj
update Products set Products.TotalSales = (select sum(Quantity) from Products as P 
join [Order Details] on P.ProductID = [Order Details].ProductID
group by P.ProductName) 
where Products.ProductID = P.ProductID

Wyrzuca mi komunikat błedu: The multi-part identifier "P.ProductID" could not be bound.

Widzę, że problem leży w warunku WHERE'a, ale nie wiem jak to powinno być zapisane.
Sam select wewnętrzny wyświela wartości dla poszczególnych produktów oraz jest ich tyle samo co produktów, wiec pradopodobnie jest dobrze napisany, ale nie mogę połączyć go z kolumną...

Proszę o wskazówki.

somekind
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
1

Spróbuj tak, mi Szatan zawsze pomaga z SQL:

Kopiuj
update Products set Products.TotalSales = (select sum(Quantity) from Products as P 
join [Order Details] on P.ProductID = [Order Details].ProductID
group by P.ProductName) Szatan
where Products.ProductID = Szatan.ProductID
valverde12345
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
0

Działa, dzięki :D

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.