Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zliczanie wartości rekordów zależnie od warunku
Mikele7
post 18.12.2014, 21:05:23
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 15.07.2014

Ostrzeżenie: (0%)
-----


Witam.
Siedzę sporo nad tym problemem i nie mogę znaleźć rozwiązania. Otóż chcę zrobić zliczanie wartości rekordu zależnie od sytuacji.
Sprawa wygląda tak mam dwie tabele: Mecz i Klub.
W pierwszej znajdują się wszystkie wyniki dodawane według schematu: gospodarz, przeciwnik, sety gospodarza, sety przeciwnika. Pod pierwsze kolumny wstawiane są identyfikatory klubu z tabeli Klub. Niestety dana drużyna może się znajdować zarówno jako gospodarz i jako przeciwnik. Potafię zliczyć wartości tych pól jeśli jest dana drużyna gospodarzem lub przeciwnikiem. Niestety nie wiem jak to ugryźć to w jednej komendzie sql-owskiej by liczyło dla danej drużyny wygrane i przegrane sety.
  1. SELECT k1.name, SUM( Mecz.gset ) , SUM( Mecz.pset )
  2. FROM Mecz
  3. JOIN Klub k1 ON k1.id_klub = Mecz.gospodarz
  4. GROUP BY k1.id_klub

  1. SELECT k2.name, SUM( Mecz.pset ) , SUM( Mecz.gset )
  2. FROM Mecz
  3. JOIN Klub k2 ON k2.id_klub = Mecz.przeciwnik
  4. GROUP BY k2.id_klub


Z góry dziękuję za pomoc. Pozdrawiam

Ten post edytował Mikele7 18.12.2014, 21:29:31
Go to the top of the page
+Quote Post
mmmmmmm
post 18.12.2014, 22:43:36
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

Ostrzeżenie: (0%)
-----


Pokaż dane, to pomogę. Mogą być na sqlfiddle.com
Go to the top of the page
+Quote Post
pmir13
post 19.12.2014, 01:47:02
Post #3





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

Ostrzeżenie: (0%)
-----


  1. SELECT k.name, g.gsum+p.psum AS wygrane, g.psum+p.gsum AS przegrane
  2. FROM klub k
  3. JOIN
  4. ( SELECT gospodarz, SUM(gset) AS gsum, SUM(pset) AS psum
  5. FROM mecz
  6. GROUP BY gospodarz ) g
  7. ON g.gospodarz = k.id_klub
  8. JOIN
  9. ( SELECT przeciwnik, SUM(gset) AS gsum, SUM(pset) AS psum
  10. FROM mecz
  11. GROUP BY przeciwnik ) p
  12. ON p.przeciwnik = k.id_klub
Go to the top of the page
+Quote Post
Mikele7
post 19.12.2014, 08:11:51
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 15.07.2014

Ostrzeżenie: (0%)
-----


Wygląda na to, że działa idealnie tak jak powinno. Dzięki kolego, będę wiedział już jak w razie w coś takiego ogarnąć, bo nie sądziłem, że aż tak można łączyć te komendy. Jeszcze raz wielkie dzięki smile.gif
Dalej już sobie sam dostosuję

Ten post edytował Mikele7 19.12.2014, 08:24:38
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 20:55