Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pytanie dotyczące SUM() - sumowania kolumn...
Forum PHP.pl > Forum > Przedszkole
Gość
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
SongoQ
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ść
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
SongoQ
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
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.