1

Temat: Sumowanie rekordow z roznych tabel

Mam trzy tabele:
1) tab1
2)tab2
3)tab3

kazda z tabel ma kolumne punkty i uzytkownik potrzebuje zrobic zapytanie ktore bedzie sumowac wszystkie punkty z kolumn "punkty" (tabel 1, 2, 3) tam gdzie uzytkownik = superJas smile
Z gory dziekuje
Michał

2

Odp: Sumowanie rekordow z roznych tabel

Select sum(sum)
From
    (Select sum(punkty) From tab1 Where uzytkownik = 'superJas'
        Union All
    Select sum(punkty) From tab2 Where uzytkownik = 'superJas'
        Union All
    Select sum(punkty) From tab3 Where uzytkownik = 'superJas') s;

3

Odp: Sumowanie rekordow z roznych tabel

Dzięki gszpetkowski smile jak zwykle świetnie.
Dodatkowo na zadanie mam jeszcze wyświetlenie posortowanych użytkowników wg. punktów od najwyższego do najniższego

trochę próbowałem zmieniać kod gszpetkowski'ego i udało mi się wyświetlić sumy z dwóch baz ALE BEZ SORTOWANIA (DESC nie mogę nigdzie wcisnąć):

Select sum(sum), uzytkownik
From
    (Select sum(punkty), uzytkownik From tab1 group by uzytkownik
        Union All
Select sum(punkty), login From tab2 group by login) s group by uzytkownik;

Dla szybszego zobrazowania kolumny:

tab1= punkty || uzytkownik

tab2=punkty||login

Wynik powinien być taki:
user1=13
user3=11
user2=9
...

Ktoś ma jakieś pomysły?? gszpetkowski jak zwykle liczę na twoją mądrość.
Pozdrawiam
Michał

Ostatnio edytowany przez hetmanJIIIS (2011-09-20 20:39:30)

4

Odp: Sumowanie rekordow z roznych tabel

O ile nie przeoczyłem czegoś istotnego, to wystarczy dodać zwykłą klauzulę ORDER BY:

Select sum(sum), uzytkownik
From
    (Select sum(punkty), uzytkownik From tab1 Group By uzytkownik
        Union All
    Select sum(punkty), login From tab2 Group By login) s
Group By uzytkownik
Order By sum DESC;

Przykładłowy wynik:

 sum | uzytkownik 
-----+------------
  10 | user2
   8 | user3
   7 | user1
(3 rows)

Swoją drogą nie wiedziałem, że przy takiej unii, gdzie są różne nazwy kolumn Postgres bierze "na wyjście" pierwszą nazwę, czyli tutaj uzytkownik.

Pozdrawiam,
Grzesiek

Ostatnio edytowany przez gszpetkowski (2011-09-21 01:58:21)

5

Odp: Sumowanie rekordow z roznych tabel

Dzięki gszpetkowski za lekcję. :-)
Zapytanie działa i wynik wyświetla jak powinien.
Pozdrawiam
Michał