SQL - wszsytkie adresy kontarhentow bez archiwalnych
Moderator: mikey
SQL - wszsytkie adresy kontarhentow bez archiwalnych
Witam
Chciałbym pobrać z CDNa listę wszsytkich kontrahentów wraz ze wszystkimi adresami dopisanymi do danego kontrahenta, ale bez archiwalnych. Wyskrobałem jakiegoś prostego selecta
select kna_akronim, KnA_Nip, KnA_NipPrefiks, KnA_Nazwa1, KnA_Ulica, KnA_KodP, KnA_Miasto
from CDN.KntAdresy
where KnA_DataArc = 0
Jako wynik w niektórych przypadkach otrzymuje wiele rekordów dla tej samej nazwy klienta jeśli do kontrahenta jest dopisane więcej adresów, niestety nie jestem w stanie znaleźć kolumny zawierającej coś po czym mógłbym zgrupować rekordy dla tego samego klienta
Z góry dzięki za zainteresowanie tematem
Chciałbym pobrać z CDNa listę wszsytkich kontrahentów wraz ze wszystkimi adresami dopisanymi do danego kontrahenta, ale bez archiwalnych. Wyskrobałem jakiegoś prostego selecta
select kna_akronim, KnA_Nip, KnA_NipPrefiks, KnA_Nazwa1, KnA_Ulica, KnA_KodP, KnA_Miasto
from CDN.KntAdresy
where KnA_DataArc = 0
Jako wynik w niektórych przypadkach otrzymuje wiele rekordów dla tej samej nazwy klienta jeśli do kontrahenta jest dopisane więcej adresów, niestety nie jestem w stanie znaleźć kolumny zawierającej coś po czym mógłbym zgrupować rekordy dla tego samego klienta
Z góry dzięki za zainteresowanie tematem
-
- Posty: 381
- Rejestracja: 19 lip 2012, 13:05
- Rola: Administrator CDN XL
- Wersja: 8.0
- Lokalizacja: Poznań, Września, Konin
- Kontakt:
Re: SQL - wszsytkie adresy kontarhentow bez archiwalnych
pole kna_KntNumer to wskazanie na kartotekę z KntKarty dla której występują adresy w kntAdresy j.n:
select kna_akronim, KnA_Nip, KnA_NipPrefiks, KnA_Nazwa1, KnA_Ulica, KnA_KodP, KnA_Miasto
from CDN.KntAdresy join cdn.kntkarty on knt_gidnumer=kna_kntnumer
where KnA_DataArc = 0 and knt_akronim like 'AKRONIM KLIENTA'
select kna_akronim, KnA_Nip, KnA_NipPrefiks, KnA_Nazwa1, KnA_Ulica, KnA_KodP, KnA_Miasto
from CDN.KntAdresy join cdn.kntkarty on knt_gidnumer=kna_kntnumer
where KnA_DataArc = 0 and knt_akronim like 'AKRONIM KLIENTA'
Re: SQL - wszsytkie adresy kontarhentow bez archiwalnych
Dziękuję za odpowiedź
Jakiej kolumny mogę użyć z KntKarty żeby po niej pogrupować rekordy dla tego samego klienta?
Jakiej kolumny mogę użyć z KntKarty żeby po niej pogrupować rekordy dla tego samego klienta?
Re: SQL - wszsytkie adresy kontarhentow bez archiwalnych
Dokładnie mam taką sytuację jak w załączonym pliku
Jak dojść które adresy dotyczą NIPu 1112223344, a które 9992223355 ?
Jak dojść które adresy dotyczą NIPu 1112223344, a które 9992223355 ?
-
- Posty: 381
- Rejestracja: 19 lip 2012, 13:05
- Rola: Administrator CDN XL
- Wersja: 8.0
- Lokalizacja: Poznań, Września, Konin
- Kontakt:
Re: SQL - wszsytkie adresy kontarhentow bez archiwalnych
No ale na załączonym obrazku chyba właśnie masz to pogrupowane?
Lub odpytaj po prostu wg nipu:
select kna_akronim, KnA_Nip, KnA_NipPrefiks, KnA_Nazwa1, KnA_Ulica, KnA_KodP, KnA_Miasto
from CDN.KntAdresy join cdn.kntkarty on knt_gidnumer=kna_kntnumer
where KnA_DataArc = 0 and Knt_Nip like '1111122223333'
Lub odpytaj po prostu wg nipu:
select kna_akronim, KnA_Nip, KnA_NipPrefiks, KnA_Nazwa1, KnA_Ulica, KnA_KodP, KnA_Miasto
from CDN.KntAdresy join cdn.kntkarty on knt_gidnumer=kna_kntnumer
where KnA_DataArc = 0 and Knt_Nip like '1111122223333'
Re: SQL - wszsytkie adresy kontarhentow bez archiwalnych
Dodaj na końcu zapytania i będziesz miał posortowane wg. kontrahenta
Kod: Zaznacz cały
ORDER BY Knt_GIDNumer
Pozdrawiam
Wojtek Cyrklewicz
Wojtek Cyrklewicz
Re: SQL - wszsytkie adresy kontarhentow bez archiwalnych
No właśnie nie do końca Knt_Nip jak widać pojawia się kilka razy taki sam a Knt_GIDNumer jest zawsze inny, więc grupowanie po tej kolumnie nic nie da, nie nie występuje dla każdego adresu... Musiałbym znaleźć kolumnę po której mogę pogrupować rekordy...
Kod: Zaznacz cały
select Knt_GIDNumer, Knt_Nip, Knt_Nazwa1, Knt_Ulica, Knt_NRB, Knt_FrsID from cdn.kntkarty where Knt_Nazwa1 like '%txxxx%'
Re: SQL - wszsytkie adresy kontarhentow bez archiwalnych
Jeśli dla tego samego NIP-u masz różne wartości Knt_GIDNumer oznacza to tylko jedno - masz kilka kart kontrahenta założonych na tego samego kontrahenta. Sugeruje wyświetlać sobie kolumnę Knt_Akronim, a posortować rekordy po Knt_NIP, Knt_GIDNumer - w ten sposób w obrębie danego NIP-u będziesz widzieć, które karty się niejako dublują.
Pozdrawiam,
Mateusz
Pozdrawiam,
Mateusz
Re: SQL - wszsytkie adresy kontarhentow bez archiwalnych
Dobra, dużo się wyjaśniło Panie nie dopisywały do kontrahenta dodatkowych adresów, tylko dodawały nowego kontrahenta, mało tego, czasami nawet bez numeru NIP, stąd mam wiele firm z tą samą nazwą a różnym GIDem. Wg mnie różny GID i nie zawsze występujący NIP nie pozwala na export kontrahenta i jego wszystkich adresów.
Dziękuję wszystkim za zainteresowanie tematem
Dziękuję wszystkim za zainteresowanie tematem