Wpis z mikrobloga

SQL noob here. Ogarnia ktoś agregacje, joiny lub za pomocą jakiejś over partition wie jak zrobić coś takiego?

Mianowicie na screenie. Mam tabelkę z nr jakiegoś dokumentu, wymiarem/kategorią i ilością czegoś tam.
Chciałbym napisać takie query, które tworzy Qty 2, które "zabiera" ilość z każdego wiersza dla tego dokumentu gdzie wymiar = b i dodaje go do a.

#sql #tsql
z.....j - SQL noob here. Ogarnia ktoś agregacje, joiny lub za pomocą jakiejś over par...

źródło: comment_GqTbwKWsDhW2XEiUmL1fOUYCGtHRHLLM.jpg

Pobierz
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@za_niemca_bylo_lepiej:
zakladajac ze nie ma wiecej niz jedno b - jezeli jest to trzeba jeszcze robic agregacje

select A.*, case when A.Wymiary = "a" then IFNULL(A.Qty + B.Qty, 0) when A.Wymiary = "b" then 0 else A.Qty end as Qty2 from Table1 A left join Table1 B on A.Wymiary = "a" and B.Wymiary = "b";
  • Odpowiedz