Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: EdytaLibro w Marzec 23, 2022, 10:53:47

Tytuł: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: EdytaLibro w Marzec 23, 2022, 10:53:47
Witam,
Czy pomoglibyście mi w przygotowaniu zestawienia SQL(formatowania warunkowego) w Rachmistrzu aby zaznaczało mi w KPIR, jeżeli jest ten sam numer dokumentu i kontrahent.
Tytuł: Odp: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: dkozlowski w Marzec 23, 2022, 11:57:17
Tak, w czym dokładnie mamy pomóc, na czym utknęłaś ?
Tytuł: Odp: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: EdytaLibro w Marzec 23, 2022, 13:48:10
Zrobiłam takie zestawienie ale nie do końca wiem czy tak się tak się nazywają pozycję bo rachmistrz mi krzyczy.

case when (Ksiega.kpr_NrDokumentu) in (select distinct kpr_NrDokumentu from kpr_NrDokumentu as a where a.kpr_id<>Ksiega.kpr_id
and Ksiega.kpr_NazwaKh=a.kpr_symbolkh and len(Ksiega.kpr_NazwaKh)>0)
then 1 else 0 end
Tytuł: Odp: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: candy w Marzec 23, 2022, 17:25:03
Zrobiłam takie zestawienie ale nie do końca wiem czy tak się tak się nazywają pozycję bo rachmistrz mi krzyczy.
Wypadałoby napisać co krzyczy, prawda?

A krzyczy bo tu jest kiszka:
select distinct kpr_NrDokumentu from kpr_NrDokumentu
kpr_NrDokumentu jest kolumną w tabeli kpr__Ksiega, więc to powinno być (bez distinct, szkoda pary):
select kpr_NrDokumentu from kpr__Ksiega
PS. Nie analizowałem poprawności funkcjonalnej samego warunku, a tylko formalną.
Tytuł: Odp: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: EdytaLibro w Marzec 24, 2022, 09:20:28
Zapytanie SQL jest poprawne, natomiast nie wyróżnia mi takich samych dokumentów od tego samego kontrahenta, więc coś jest nie tak z zapytaniem. Mi już brak pomysłów.
Tytuł: Odp: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: candy w Marzec 24, 2022, 09:49:18
Zapytanie SQL jest poprawne, natomiast nie wyróżnia mi takich samych dokumentów od tego samego kontrahenta, więc coś jest nie tak z zapytaniem. Mi już brak pomysłów.
Nie działa bo jest naklepane "na odwal" się. Najpierw chcesz wybierać dane z kolumny zamiast z tabeli, a potem dajesz warunek
Ksiega.kpr_NazwaKh=a.kpr_symbolkhChcesz sprawdzać czy nazwa kontrahenta jest taka jak jego symbol? No chyba nie.

Poprawiłem ten błąd i trochę cały warunek i na pierwszy rzut działa (choć ja np chyba wolałbym sprawdzanie po NIP).
CASE WHEN EXISTS (SELECT kpr_NrDokumentu FROM kpr__Ksiega A WHERE A.kpr_Id <> Ksiega.kpr_Id AND Ksiega.kpr_NazwaKh = A.kpr_NazwaKh AND LEN(Ksiega.kpr_NazwaKh) > 0) THEN 1 ELSE 0 END
Tytuł: Odp: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: EdytaLibro w Marzec 24, 2022, 10:36:32
Przy takim zapytaniu zaznacza mi, że np: wszystkie zakupy z orange bo był kilka razy.
A mi chodzi o to aby zaznaczyło jeżeli w kpir znalazł się więcej niż raz ten sam dokument od tego samego kontrahenta
Tytuł: Odp: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: candy w Marzec 25, 2022, 23:06:49
Przy takim zapytaniu zaznacza mi, że np: wszystkie zakupy z orange bo był kilka razy.
A mi chodzi o to aby zaznaczyło jeżeli w kpir znalazł się więcej niż raz ten sam dokument od tego samego kontrahenta
Zgadza się, to mój błąd. Brakło tego ostatniego warunku na kpr_NrDokumentu.
Powinno być
CASE WHEN EXISTS (SELECT kpr_NrDokumentu FROM kpr__Ksiega A
WHERE A.kpr_Id <> Ksiega.kpr_Id AND Ksiega.kpr_NazwaKh = A.kpr_NazwaKh AND LEN(Ksiega.kpr_NazwaKh) > 0 AND A.kpr_NrDokumentu  = Ksiega.kpr_NrDokumentu
) THEN 1
ELSE 0 END
Tytuł: Odp: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: EdytaLibro w Marzec 29, 2022, 09:20:33
A jak bym chciała żeby wyłapywało po NIPie kontrahenta a nie po nazwie kontrahenta
Tytuł: Zestawienie SQL - podświetalanie duplikatu faktur w KPIR
Wiadomość wysłana przez: candy w Marzec 29, 2022, 09:59:03
No to zmień sobie w tym warunku.
W czym problem?