Article View: pl.comp.bazy-danych
Article #194652Re: PostgreSQL - jak zredagować SQL?
From: Marek
Date: Thu, 24 Sep 2015 10:00
Date: Thu, 24 Sep 2015 10:00
46 lines
2674 bytes
2674 bytes
W dniu 2015-09-22 o 16:39, Lesiok pisze: > UPDATE ratings SET games=games+(wylicyć o ile zapewne analogicznie jak > to tajemnicze subquery) Oki, mogę oczywiście zliczać dane countem jednakże kolumn jest więcej. Chodzi o coś w rodzaju statystyk piłkarskich. Jest tabela kto z kim grał i ile drużyny zdobyły umownie "bramek" w każdym ze spotkań. Trzeba zliczyć ile dana drużyna miała spotkań, ile wygranych, ile przegranych, różnicę "bramek" i jeszcze jakieś punktacje itp. Czyli w skrócie na podstawie tabeli: CREATE TABLE players ( players_id SERIAL PRIMARY KEY, player_a_id int4 NOT NULL, player_b_id int4 NOT NULL, a_result int4, b_result int4, (...) FOREIGN KEY (player_a_id) REFERENCES users (users_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (player_b_id) REFERENCES users (users_id) MATCH FULL ON DELETE CASCADE ON UPDATE CASCADE ); W dodatku gracz może być graczem A jak i B w zależności od spotkania. Oba te warianty dzielę na dwa różne zapytania aby zupełnie się nie zakręcić. Stąd pomysł posłużenia się tabelą tymczasową - jak niżej. > A tak w ogóle to aż się prosi o triger aktualizujący automatycznie te dane. Dane są typu live. Musiałbym wyliczyć stan początkowy, zatrzymać aplikację, a potem otriggerować tabelę i uruchomić. Ponadto z czasem może okazać się, że klient będzie chciał jeszcze inne dane statystyczne oglądać. Za bardzo złożone. Trzeba więc analizować dane na zasadzie statystycznej. Zakładam więc tabelę tymczasową i w niej zliczam co trzeba. Póki co nieudolnie na zasadzie pętli w PHP z napędzającym selectem a w niej szeregu updateów. -- Pozdrawiam, Marek
Technical Details
Message-ID:
<mu0hj5$bn$1@news.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mailReferences:
<mtrd71$eu8$1@news.icm.edu.pl> <56016830$0$8381$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED!not-for-mail From: Marek <precz@spamowi.com> Newsgroups: pl.comp.bazy-danych Subject: Re: PostgreSQL - jak zredagować SQL? Date: Thu, 24 Sep 2015 12:00:01 +0200 Organization: ICM, Uniwersytet Warszawski Lines: 46 Message-ID: <mu0hj5$bn$1@news.icm.edu.pl> References: <mtrd71$eu8$1@news.icm.edu.pl> <56016830$0$8381$65785112@news.neostrada.pl> NNTP-Posting-Host: 89-69-222-145.dynamic.chello.pl Mime-Version: 1.0 X-Trace: news.icm.edu.pl 1443088805 375 89.69.222.145 (24 Sep 2015 10:00:05 GMT) X-Complaints-To: usenet@news.icm.edu.pl NNTP-Posting-Date: Thu, 24 Sep 2015 10:00:05 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0 In-Reply-To: <56016830$0$8381$65785112@news.neostrada.pl> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit