Wpis z mikrobloga

Mam zagwozdkę.

Jest sobie dość spora baza produktów m.in nazwa produktu, cena, id produktu i wiele wiele innych (jeszcze nie miałem wglądu w te bazy, nowa praca, czekam na dostępy ( ͡° ͜ʖ ͡°)). Niemniej na skrzynkę przyszła wiadomość z prośbą o aktualizację cen części produktów o wskazany dla każdego produktu procent. Oczywiscie jest to tylko część produktów spośród wszystkich w danej bazie.

Jak zapisać kwerendę, która by zaktualizowała ceny określonych produktów w oparciu o ich ID i procent, o który należy zmienić cenę? Na pewno nowa cena to będzie coś na wzór price - (price*).

NA obrazku już stworzony przeze mnie excel z przykładowymi kolumnami.

Co w takim przypadku począć? Jak zapisać kwerendę UPDATE SET, która by zaktualizowała ceny tych wybranych ID produktów o wskazany dla każdego produktu osobny procent? Sprawa na pewno byłaby nieco prostsza gdyby wartość rabatu/wzwyżki byłaby ta sama dla każdego produktu, bo wtedy można by było dać warunek WHERE product_id IN () no ale tak pięknie nie jest.

Ktoś coś?

#sql #kiciochpyta #programowanie (wiem, że to w sumie gówno nie programowanie, ale tag dość popularny xD) #pracbaza

pozdrawiam.
A.....- - Mam zagwozdkę.

Jest sobie dość spora baza produktów m.in nazwa produktu,...

źródło: comment_cqT6xaeMpt1Sv3eZJk0gbQIs5D2AMmh9.jpg

Pobierz
  • 14
@madry_i_mieciutki: Tzn. jak? Tzn. złączenia tabel, czy funkcje agregujące i takie operacje numeryczne ogarniam, ale w takiej sytuacji jakby to miało wyglądać? Wiem na pewno, że pierwsze co bym musiał zrobić to zamienić procenty na wartości dziesiętne czyli zamiast 6,02% to już w SQL byłoby 0,0602 itd.
@michal0110: No w tym kierunku też myślałem, żeby najpierw w Excelu funkcjami tekstowymi jakoś to uporządkować w taki sposób aby np. odpowiadało formatowi przy funkcji INSERT INTO (bo tak też chyba można?) i potem przekleić w opdowiednie miejsca w okienku z kreatorem kwerendy
@n3xo: Czyli z tego wynika, że musiałbym stworzyć jakąś tabelkę, w której byłoby ID produktu i wartość podwyżki/rabatu i używając wyrażenia MERGE bazując na product_id ustalić nowe ceny dla tych wybranych produktów?
@Analitykzbozejlaski1_-: Dobra w w idealnym świecie tak. W praktyce też utworzył taką tabelę ze zniżkami. Jestem zwolennikiem maksymalnej normalizacja, więc zniżki jako osobny byt powinny być trzymane osobno + tabela przechodnia czyli towar - towarId_znizkaId - znizki.