Prawidłowy wynik
Kubek Bartosz - 05-11-2005 20:28
Prawidłowy wynik
Witam
Chciałbym npisać zapytanie do bazy MySQL które wychodzi poza moje umiejętności.
Tabela tab1 (obrazowo) wygląda tak: id (autoincrement) id_grupy (jest takie samo dla kilku różnych rekordów) kwota
Moje zapytanie powinno realizować następujące założenie: powinno zwracać SUM(kwota) dla GROUP BY id_grupy (zwracać sumę wszystkich "kwot" których id_grupy jest identyczne) - gdy id_grupy>0 powinno zwracać poszczególne kolejne "kwoty" - dla przypadku gdy id_grupy=0
Problem mam w tym że nie wiem jak uwzględnić w zapytaniu to drugie założenie. Mam: SELECT SUM(kwota) FROM tab1 where id_grupy!=0 GROUP BY id_grupy; .... i właśnie: do wyników powyższego zapytania chce dodać NIESUMOWANE "kwoty" dla recordów w tabeli gdzie id_grupy=0;
Brak mi pomysłów. Tzn. wiem że można coś czarować z LEFT JOIN itp. ale nie rozumię tego za bardzo!
Pozdrawiam serdecznie grupowiczów! Kubek Bartosz
Marcin - 05-11-2005 20:28
Kubek Bartosz wrote: [...] > Problem mam w tym że nie wiem jak uwzględnić w zapytaniu to drugie > założenie. Mam: > SELECT SUM(kwota) FROM tab1 where id_grupy!=0 GROUP BY id_grupy; > ... i właśnie: do wyników powyższego zapytania chce dodać NIESUMOWANE > "kwoty" dla recordów w tabeli gdzie id_grupy=0; > > Brak mi pomysłów. Tzn. wiem że można coś czarować z LEFT JOIN itp. ale nie > rozumię tego za bardzo!
LEFT JOIN nie jest tu potrzebne, użyj UNION.
M.
=?iso-8859-2?Q?=A3ukasz_Kalbarczyk?= - 11-11-2005 11:38
=?iso-8859-2?Q?Re:_Prawid=B3owy_wynik?=
Kubek Bartosz <matbk@poczta.onet.pl> pisze: > Brak mi pomysłów. Tzn. wiem że można coś czarować z LEFT JOIN itp.
Ech, twórca bez natchnienia... A może ogólnie tylko rzemieślnik :/
> ale nie rozumię tego za bardzo!
A rozumię to po jakiemu?
> Pozdrawiam serdecznie grupowiczów! > Kubek Bartosz
Można troche tabelkę przedefiniowac jak masz dostęp do bazy i nie chesz UNIONA (ten union może bruździć w niektórych sytuacjach (podzapytaniach?) chyba :/) Dodać kolumnę id_podgrupy (zależność funkcyjna w tym przypadku, niestety - ale ogólnie niekoniecznie musi zachodzić) taką, że id_podgrupy=id_grupy <= id_podgrupy>0 id_podgrupy obcięte do pól takich, że id_grupy=0 jest unikalne. Wtedy da się SUM(kwota) grup by (id_grupy, id_podgrupy) będzie tym, o czym mówisz. W dodatku jak z jakiejś grupy będziesz chciał wyodrębnić podgrupę, to też się da łatwo.
-- ŁK http://moze.przeczytaj.sobie.to
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?=
[MySQL] Ograniczenie =?ISO-8859-2?Q?ilo=B6=E6_wynik=F3w_na_?==?ISO-8859-2?Q?podstawie_count=28=29?=
[MySql] Jak =?ISO-8859-2?Q?por=F3wna=E6_wynik_zapytania_ze?==?ISO-8859-2?Q?_zmienn=B1=3F?=
[MySQL] Zapytanie z pliku , wynik do pliku
=?ISO-8859-2?Q?wynik_podzapytania_jako_pojedy=F1cza_warto=B6= E6?=
=?iso-8859-2?q?wy=B6wietlenie_wynik=F3w_SELECTa_w_php?=
Problem z zapytaniem MySQL i PHP wynik zwraca 3 razy, dlaczego?
=?iso-8859-2?q?SQL:_left_join:_dublowanie_wynik=F3w?=
Postgres funkcja skladowana zwracajaca wynik zapytania SQL
zanotowane.pldoc.pisz.plpdf.pisz.plwawa19wwa91.pev.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|