Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Widok + sum + left join
Forum PHP.pl > Forum > Bazy danych > MySQL
zaajcu
Cześć wszystkim, mam mały problem z sum na widoku:

  1. RAPORTS
  2. order_id | product_id | Ap | price
  3. 1 | 1 | 001 | 300
  4. 1 | 2 | 001 | 300
  5. 2 | 1 | 002 | 500
  6. 2 | 2 | 002 | 500
  7. 3 | 1 | 002 | 125



Mam zapytanie:

  1. SELECT ap, sum(price) FROM raports GROUP BY ap


i nie stety otrzymuje coś takiego

  1. 001 | 600
  2. 002 | 1125


a chce dostać

  1. 001 | 300
  2. 002 | 625


brakuje mi pewnie czegoś za group by pewnie heving tylko nie wiem co dalej jak daje distinct ap to niestety nie działa :/
nospor
Nie rozumiem o co ci chodzi..... skoro grupujesz po AP, to wynik jaki dostales jest wporzadku... suma 300 i 300 to 600 a nie 300

300 i 625 wyjdzie wtedy gdy product_id = 1. No to ciezko dodac taki warunek do zapytania?
zaajcu
Widok ten składa się z połączonych 2 table

  1. Orders
  2. id | ap | price
  3.  
  4. i
  5.  
  6. products
  7. id | name
  8.  


do tego jest tabela która łączy te 2 tabele

  1. order_products
  2. order_id | product_id | count


Grupując po Ap chciałbym dostać sumę kwot zleceń dla danego AP (placówki) w tym momencie sumuje mi 2 razy to samo zlecenie o id 1 i 2
nospor
To nie korzystaj z widoku, skoro ci nie pasuje, tylko napisz normalne zapytanie i bedziesz mial to co chcesz.
zaajcu
tak też chciałem zrobić, ale zastanawiałem się czy uda się to zrobić z widoku bo chyba prościej by było grupować po tem po product_id i jeszcze innych parametrach, ale skoro się nie da to wracam do pisania zapytań normalnie wink.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.