![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich,
Mam gorącą prośbę, z rozwiązaniem takiego problemu Tabela 1 – budzet planowany Imie kwota miesiąc Witek 10000 lipiec Tomek 15000 lipiec Witek 10000 sierpień Tomek 10000 sierpień Asia 25000 sierpień . Tabela 2 – wykonanie planu Imie kwota miesiąc klient Witek 5000 lipiec XYZ Witek 8000 lipiec QWERTY Tomek 13000 lipiec ABC Witek 2000 sierpień XYZ . Potrzebuję zrobić podsumowanie wykonania budżetu: Imie planowane$ wykonane$ Witek 20000 15000 Tomek 25000 13000 Asia 25000 0 . Gdzie planowane$=sum(tabela1.kwota) wykonane$=sum(tabela2.kwota) Niby rzecz prosta, ale nijak nie chce mi liczyć tego co ma:( Zawsze wyniki mi się multiplikują. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 15 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odpowiedz, ale własnie w tym jest problem.
Ponieważ to zapytanie zwraca wynik natępujący: Imie SUM(bp.kwota) SUM(bw.kwota) Asia 25000 NULL - tu wszystko OK Tomek 25000 26000 - tu juz 2 kolumna zdublowana Witek 60000 30000 - tu wszystko rozjechane:( Próbowałem już z różnymi połączeniami, lecz za każdym razem wynik odbiega od ideału. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 374 Pomógł: 149 Dołączył: 1.03.2006 Ostrzeżenie: (0%) ![]() ![]() |
OUTER bo w drugiej tabeli może nie być osoby, która jest w pierwszej no i musisz łączyć tabele po imieniu i miesiącu (jak sądzę), bo inaczej Dwóch witków z pierwszej połączy się z trzema Witkami z drugiej dając 6 rekordów, które po zsumowaniu dadzą kiszkę. Ten post edytował JoShiMa 26.06.2008, 13:10:13 -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 121 Pomógł: 15 Dołączył: 19.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
JoShiMa:
LEFT JOIN = LEFT OUTER JOIN ketiv: jesli zapytanie JoShiMa nie zadziala to sprobuj tego:
lub tego:
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 30.08.2005 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki @osiris
to drugie rozwiązanie działa rewelacyjnie ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 06:23 |