Autor Wątek: Zestawienie SQL do rozliczenia pośrednika  (Przeczytany 3984 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline Omenus78

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.50 SP1 HF1
Zestawienie SQL do rozliczenia pośrednika
« dnia: Marzec 30, 2018, 11:05:55 »
Witam
Mam zestawienie  / do rozliczenia pośrednika/ ale niektóre faktury wyświetla i liczy podwójnie. Nie mam pojecia dlaczego??
Pomoże ktoś??
Proszę

SELECT
kh_Symbol AS Symbol,
nz__Finanse.nzf_Data AS [Data powstania],
dok__Dokument.dok_NrPelny AS [Dokument],
dok_WartNetto AS [Netto],
adr__Ewid.adr_Nazwa AS [Nazwa],
dok_Uwagi as Uwagi,
kh_Pole1 as [Sprzedawca]


FROM
kh__Kontrahent,
nz__Finanse,
dok__Dokument,
adr__Ewid,
sl_CechaKh,
kh_cechaKh


WHERE
(dok__Dokument.dok_Typ IN({CHL:faktura sprzedaży#2#korekta faktury sprzedaży#6#:Typ dokumentu}))
and adr__Ewid.adr_IdObiektu=kh__Kontrahent.kh_Id
and nz__Finanse.nzf_IdDokumentAuto=dok__Dokument.dok_Id
and adr__Ewid.adr_Id=nz__Finanse.nzf_IdAdresu
and kh__Kontrahent.kh_Id=kh_CechaKh.ck_IdKhnt
and kh_CechaKh.ck_IdCecha=sl_CechaKh.ckh_Id
and dok_DataWyst BETWEEN {DR: Data :2018-01-01 : 2018-01-31}
and kh_CechaKh.ck_IdCecha={DB: SELECT ckh_Id, ckh_Nazwa AS CECHA FROM sl_CechaKh ORDER BY Cecha: Dla cechy}

Z góry dziękuję za wszelkie sugestie.
A tak wogóle to : WESOŁYCH Swiąt i mokrego dyngusa ;-)
« Ostatnia zmiana: Marzec 30, 2018, 14:25:19 wysłana przez birds22 »

Online candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #1 dnia: Marzec 30, 2018, 13:21:02 »
Mam zestawienie  / do rozliczenia pośrednika/ ale niektóre faktury wyświetla i liczy podwójnie. Nie mam pojecia dlaczego??

Przez ten fragment
FROM
kh__Kontrahent,
nz__Finanse,
dok__Dokument,
adr__Ewid,
sl_CechaKh,
kh_cechaKh
Bierzesz dane z 6 tabel, w każdej z nich są potrzebne i niepotrzebne i ani słowem się nie zająknąłeś co ma te tabele łączyć
Bez tego to zapytanie nie ma żadnego sensu.
Wpisz w google "łączenie tabel sql" i przeczytaj cośkolwiek
« Ostatnia zmiana: Marzec 30, 2018, 14:25:30 wysłana przez birds22 »
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Omenus78

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.50 SP1 HF1
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #2 dnia: Marzec 30, 2018, 13:54:06 »
Dzięki. Zasiadam do wujka google i szukam.

Proszę nadawać tytuły zgodnie z tematem pytania
« Ostatnia zmiana: Marzec 30, 2018, 14:27:54 wysłana przez birds22 »

Offline Omenus78

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.50 SP1 HF1
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #3 dnia: Kwiecień 03, 2018, 08:16:04 »
Niestety nie poradziłem sobie. Niby wylicza ale dla niektórych kontrahentów pokazuje mi 2 razy faktury ale nie wszystkie- dlaczego ?
Np.kontrahent ma 10 faktur a pokazuje mi 5 z nich razy 2 choć liczy raz.

Pomoże ktoś?

Offline birds22

  • Ekspert
  • *****
  • Wiadomości: 9210
  • Reputacja +1304/-21
  • Wersja programu: Najnowsza
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #4 dnia: Kwiecień 03, 2018, 08:45:46 »
Nie wiem co jest źle bo nie pokazałeś co aktualnie zrobiłeś i w jaki sposób. Z tego co masz powyżej to

Masz tabele kh__kontrahent i adr__ewid powiązane za pomocą adr__Ewid.adr_IdObiektu=kh__Kontrahent.kh_Id
Zobacz co się stanie jak połączysz tylko te dwie tabele - ile razy występuje ten sam kontrahent?
Zwróć uwagę na pole adr_typadresu - do czego ono służy?

Masz też powiązanie z kh_cechaKh za pomocą kh__Kontrahent.kh_Id=kh_CechaKh.ck_IdKhnt ...
Co się stanie jak kontrahent będzie miał dwie cechy, a co jeżeli nie będzie miał wcale cechy

Zacznij od jednej tabeli i później dołączaj kolejne tabele sprawdzając co jest w wyniku. Np zacznij od dok__dokument z filtrem daty i typu dokumentu a następni dołączaj kolejne tabele. To nie może być tak, że wrzucasz bezmyślnie różne tabele - zrób to powoli, ale tak abyś wiedział co robisz. Korzystaj też z różnych połączeń JOIN, bo łączenie za pomocą "=" po WHERE jest jednoznaczne z INNER JOIN, a nie zawsze jest to odpowiednie. Poczytaj co najmniej o LEFT JOIN.


Załóż sobie pusty podmiot testowy (bez danych przykładowych) załóż jednego klienta, jeden towar, dodaj jeden dokument i wtedy testuj.
Sławek, Zduńska Wola

Online candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #5 dnia: Kwiecień 03, 2018, 08:50:37 »
Masz rację, tylko niech raczej założy 2 kontrahentów i wystawi jednemu dwa dokumenty, a drugiemu jeden.
Bo jak będzie miał po jednym wszystkiego to wyjdzie piękne zestawienie, które w ogóle nie będzie działać w realu tak jak to.
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Omenus78

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.50 SP1 HF1
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #6 dnia: Kwiecień 05, 2018, 07:51:21 »
Niestety nie poradzę sobie, musze to zrobić "na piechotę"  :'(

Offline Omenus78

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.50 SP1 HF1
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #7 dnia: Kwiecień 05, 2018, 14:41:01 »
Dzięki za pomoc.

Offline Omenus78

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.50 SP1 HF1
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #8 dnia: Kwiecień 10, 2018, 12:22:38 »
ZROBIŁEM!!  Wielkiedzieki za zmuszenie mnie do myślenia . CANDY dziękuje za link do kursu sql to dzieki niemu dałem radę. ;D

Online candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #9 dnia: Kwiecień 10, 2018, 14:25:06 »
ZROBIŁEM!!  Wielkiedzieki za zmuszenie mnie do myślenia . CANDY dziękuje za link do kursu sql to dzieki niemu dałem radę. ;D
I to lubię!
Żadnego jęczenia i fochów, tylko chwila pracy i sukces.

Gratuluję!
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Offline Omenus78

  • Nowy użytkownik
  • *
  • Wiadomości: 46
  • Reputacja +0/-0
  • Wersja programu: Subiekt 1.50 SP1 HF1
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #10 dnia: Kwiecień 10, 2018, 14:32:20 »
Jak nikt nie słyszał to trochę jeczałem 8) Ale jeszcze raz dzięki.

Online candy

  • Zaawansowany użytkownik
  • ****
  • Wiadomości: 4876
  • Reputacja +172/-11
Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #11 dnia: Kwiecień 10, 2018, 16:46:35 »
Jak nikt nie słyszał to trochę jeczałem 8) Ale jeszcze raz dzięki.
Bo jęczenie do siebie jest słuszne i zalecane, pomaga rozładować stres i oczyszcza rozum  ;)
Nie pytaj co rząd może zrobić dla Ciebie. Spytaj czy mógłby tego nie robić.

Forum Użytkownikow Subiekt GT

Odp: Zestawienie SQL do rozliczenia pośrednika
« Odpowiedź #11 dnia: Kwiecień 10, 2018, 16:46:35 »