Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pytanie dotyczące SUM() - sumowania kolumn...
-Gość-
post
Post #1





Goście







Witam

Przeczytałem na stronach forum o problemie z funkcją SUM(). Mam podobny problem ale nieco bardziej złożon. Nie mogę sobie z nim poradzić. Jak ktoś mi porzdzi to będę bardzo wdzięczny.

Mam w MySQL bazę o nazwie "BazaDanych" a w niej tablice o nazwach "Nazwiska" i "Informacje". Wyglądają mniej więcej tak:

"Nazwiska":

Lp___Ident___Imie____Nazwisko________Data_______

1____12_____Paweł_______Bąk_______2006-07-22__
2____33_____Jola________Prypeć_____2006-07-16__
3____34_____Krzysztof____Oliwa______2006-07-12__
4____12_____Paweł_______Bąk_______2006-07-11__
5____19_____Paulina______Skumiał____2006-07-18__
6____33_____Jola_________Prypeć_____2006-07-12__
7____33_____Jola_________Prypeć_____2006-07-28__
8____12_____Paweł________Bąk_______2006-07-19__
9____74_____Krzysztof_____Złoch______2006-07-15__

....itd...


"Informacje":


LpW__IdenW___Wyd1____Wyd2_____Wyd3

1____33_______105______87______1345
2____33_______133______45______2777
3____12_______300_______0_______612
4____19_______100_______0_______871
5____33_______915______NB______2347
6____12_______833______NB______7123
7____19_________0______NB______9720
8____33________17_______0______1000
9____12_______215______34______5000


....itd...

Potrzebuję za pomocą php wybrać na stronę WWW informacje o każdej z osób i muszę mieć symę wydatków każdej z nich w zadanum miesiącu, czyli wynik powinien w rezultacie dawać taką tabelę:



-------------------------------------------------------------------------------------------------------------------
Imię________|__Nazwisko__|__Idntyf____|__Wydatek_1__|__Wydatek_2_|__Wydatek_3_|
-------------------------------------------------------------------------------------------------------------------
Paweł_______|__Bąk_______|____12______|_____1348____|______34____|_____12735__|
Krzysztof___|__Oliwa_____|____34______|________0____|_______0____|_________0__|
Jola________|__Prypeć____|____33______|_____1170____|_____132____|______7469__|
Paulina_____|__Skumiał___|____19______|______100____|_______0____|_____10591__|
Krzysztof___|__Złoch_____|____74______|________0____|_______0____|_________0__|


Próbowałem kilku kombinacji SELECT... ale nic mi z tego nie wychodziło. Jeżeli ktoś potrafi mi coś podpowiedzieć to będę czekać.

Pozdrawiam serdecznie

Paweł Bąk
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
SongoQ
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Banalne zapytanie.

Stosujesz zlonczenie tych 2 tabel nastepnie sum i grupujesz pola ktore maja sie pojawic. Pomecz sie jesli nie uda Ci sie to pisz to Ci dam gotowe zapytanie.


--------------------
Go to the top of the page
+Quote Post
-Gość-
post
Post #3





Goście







Dzień dobry

Dzięki za podpowiedź ale chyba zbyt słabo się poruszam w temacie. słyszałem coś o funkcji "UNION" ale nic o niej nie wiem. Sprawdziłem chyba wszystkie znane mi opcje ale zawsze coś jest źle. Najlepsza z prób to:



$wynik = mysql_query ("SELECT Ident, Imie, Nazwisko, SUM(Wyd1), SUM(Wyd2), SUM(Wyd2) FROM Informacje, Nazwiska GROUP BY Ident;") or
die ("bł±d w pytaniu");


.........................
.........................
.........................
.........................


while ($rekord = mysql_fetch_array ($wynik)) {
$F1 = $rekord[0];
$F2 = $rekord[1];
$F3 = $rekord[2];
$F4 = $rekord[3];
$F5 = $rekord[4];
$F6 = $rekord[5];

print "<TABLE><TR><TD align=center>$F1</TD>";
print "<TD align=center>$F2</TD>";
print "<TD align=center>$F3</TD>";
print "<TD align=center>$F4</TD>";
print "<TD align=center>$F5</TD>";
print "<TD align=center>$F6</TD>";
print "</TR>\n";
}
print "</TABLE></CENTER>";

?>

.........................
.........................
.........................
.........................

Jak Ci się będzie chciało mnie poprawić to będzie super...

Pozdrawiam serdecznie

Paweł Bąk
Go to the top of the page
+Quote Post
SongoQ
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Taki kod powinien zadzialac

  1. SELECT Nazwiska.Ident, Nazwiska.Imie, Nazwiska.Nazwisko, SUM(Informacje.Wyd1), SUM(Informacje.Wyd2), SUM(Informacje.Wyd2) FROM Informacje, Nazwiska WHERE Nazwiska.Ident = Informacje.IdenW
  2. GROUP BY Nazwiska.Ident, Nazwiska.Imie, Nazwiska.Nazwisko


--------------------
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 Aktualny czas: 20.08.2025 - 20:23