klient
Łukasz Latacz
3 pkt
2 pytań
4 odpowiedzi
0 pomysłów
0 komentarzy
3 100%
oceń

Filtr na towarach - konstrukcja (błąd)

Łukasz Latacz zapytał/a o
Techniczne
Techniczne pytań: 1568 | odpowiedzi: 5963

k3sil4Paweł NagórkaAdam NowakŁukasz PulchnyGrażyna ŻelichowskaMarek KwiatkowskiMagdalena GrygaAneta Walendzik
Ogólne
Ogólne pytań: 481 | odpowiedzi: 2956

Magdalena GrygaMałgorzata ProchackaKarolina HarasiemionekBeata CzieslaTomasz SzkudlarekRafał MastalerzPiotr ZarzyckiJoanna Szyszkowska
Comarch ERP XL
Comarch ERP XL pytań: 881 | odpowiedzi: 3039

Comarch ERP XL

Sylwia WałczykWiesław ŚwiergałaMariusz GrajekMałgorzata NahorskaŁukasz PulchnyJustyna KHJarosław WróblewskiDamian Cieślik

Witam,

zaćmiło mnie :)

co w tym zapytaniu jest nie tak aby można było go użyć jako filtr (gdy bezpośrednio wrzucam zapytanie - działa prawidłowo), na razie otrzymuję komunikat:

"Użycie filtra nie jest możliwe,
ponieważ jego składnia nie jest zgodna z językiem SQL.
"

a zapytanie wygląda tak:

Twr_GIDNumer in
select Twr_GIDNumer from CDN.TwrKarty
where
(
SELECT TOP 1 TwC_Wartosc FROM CDN.TwrCeny
WHERE TwC_TwrNumer = Twr_GIDNumer AND TwC_TwrLp = 0
ORDER BY TwC_DataOd DESC, TwC_CzasModyfikacji DESC
)>0
order by Twr_Kod

Odpowiedzi:

User Avatar
partner
Szymon Liszewski
11 pkt
0 pytań
2 odpowiedzi
1 pomysłów
1 komentarzy
11 100%
4 pkt
 
Łukasz Latacz potwierdził, że ta odpowiedź jest najlepsza i wystarczająca
Szymon Liszewski odpowiedział/a
Techniczne
Techniczne pytań: 1568 | odpowiedzi: 5963

k3sil4Paweł NagórkaAdam NowakŁukasz PulchnyGrażyna ŻelichowskaMarek KwiatkowskiMagdalena GrygaAneta Walendzik
Ogólne
Ogólne : 0 | odpowiedzi: 2956

Comarch ERP XL
Comarch ERP XL pytań: 881 | odpowiedzi: 3039

Comarch ERP XL

Sylwia WałczykWiesław ŚwiergałaMariusz GrajekMałgorzata NahorskaŁukasz PulchnyJustyna KHJarosław WróblewskiDamian Cieślik
6 mie. temu

Posiadasz dwa błędy w kodzie:
1. Nie możesz wykonać order by w kodzie filtra SQL
2. Robisz "in" dla Twr_GIDNumer ale nie wskazujesz jawnie co jest w zakresie tego in, powinno to wyglądać następująco:

Twr_GIDNumer in
(select Twr_GIDNumer from CDN.TwrKarty
where
(
SELECT TOP 1 TwC_Wartosc FROM CDN.TwrCeny
WHERE TwC_TwrNumer = Twr_GIDNumer AND TwC_TwrLp = 0
ORDER BY TwC_DataOd DESC, TwC_CzasModyfikacji DESC
)>0)


Pamiętaj, zawsze filtr SQL działa w sposób następujący:

select [dane]
from [Tabela]
where [Zapytanie w oknie] np w towarach będzie to przykładowo:
(1=1) and (1=1) AND Twr_Typ<>4 AND Twr_Typ<>3 AND Twr_Archiwalny=0

i dodany twój warunek jako AND i wyrażenie jakie stosujesz.
Dużo czytelniejsze byłoby to gdyby Comarch wyświetlał pełne zapytanie w przypadku błędu z jego sformatowaniem - dałoby to podgląd osobie pracującej nad zapytaniem co robi źle.

Ta odpowiedź została skomentowana
User Avatar
klient
Łukasz Latacz
3 pkt
2 pytań
4 odpowiedzi
0 pomysłów
0 komentarzy
3 100%
1 pkt
 
Łukasz Latacz odpowiedział/a
Techniczne
Techniczne pytań: 1568 | odpowiedzi: 5963

k3sil4Paweł NagórkaAdam NowakŁukasz PulchnyGrażyna ŻelichowskaMarek KwiatkowskiMagdalena GrygaAneta Walendzik
Ogólne
Ogólne : 0 | odpowiedzi: 2956

Comarch ERP XL
Comarch ERP XL pytań: 881 | odpowiedzi: 3039

Comarch ERP XL

Sylwia WałczykWiesław ŚwiergałaMariusz GrajekMałgorzata NahorskaŁukasz PulchnyJustyna KHJarosław WróblewskiDamian Cieślik
6 mie. temu

Profiler żadnych błędów nie wypluwa (albo ja nie umiem ich znaleźć) 

ale poradziłem sobie konstruując inne zapytanie 

Twr_GIDNumer in
(
select Twr_GIDNumer from CDN.TwrKarty
join CDN.TwrCeny on TwC_TwrNumer = Twr_GIDNumer
where TwC_TwrLp = 0 and TwC_Wartosc >0
)

1. co prawda nie wiem ograniczyłem tylko do jednego wyniku z tabeli DN.TwrCeny i bez sortowania, bo chwilowo nie wiem jak w join to zrobić, ale działa.

2. no i dlaczego wcześniejsze zapytanie wywalało błąd przy drukowaniu?

User Avatar
klient
Łukasz Latacz
3 pkt
2 pytań
4 odpowiedzi
0 pomysłów
0 komentarzy
3 100%
oceń
 
Łukasz Latacz odpowiedział/a
Techniczne
Techniczne pytań: 1568 | odpowiedzi: 5963

k3sil4Paweł NagórkaAdam NowakŁukasz PulchnyGrażyna ŻelichowskaMarek KwiatkowskiMagdalena GrygaAneta Walendzik
Ogólne
Ogólne : 0 | odpowiedzi: 2956

Comarch ERP XL
Comarch ERP XL pytań: 881 | odpowiedzi: 3039

Comarch ERP XL

Sylwia WałczykWiesław ŚwiergałaMariusz GrajekMałgorzata NahorskaŁukasz PulchnyJustyna KHJarosław WróblewskiDamian Cieślik
6 mie. temu

Dziękuję, działa (nie wiem po co na końcu próbowałem stosować order by :)

A teraz jeszcze jedno pytanie:

Dlaczego gdy zastosuję ten filtr i próbuję wydrukować listę towarów (bez różnicy w jakim wydruku to otrzymuję błąd:

Brakuje drugiego cudzysłowu ' dla tego ciągu.

Ta odpowiedź została skomentowana
User Avatar
partner
Szymon Liszewski
11 pkt
0 pytań
2 odpowiedzi
1 pomysłów
1 komentarzy
11 100%
1 pkt
 
Szymon Liszewski odpowiedział/a
Techniczne
Techniczne pytań: 1568 | odpowiedzi: 5963

k3sil4Paweł NagórkaAdam NowakŁukasz PulchnyGrażyna ŻelichowskaMarek KwiatkowskiMagdalena GrygaAneta Walendzik
Ogólne
Ogólne : 0 | odpowiedzi: 2956

Comarch ERP XL
Comarch ERP XL pytań: 881 | odpowiedzi: 3039

Comarch ERP XL

Sylwia WałczykWiesław ŚwiergałaMariusz GrajekMałgorzata NahorskaŁukasz PulchnyJustyna KHJarosław WróblewskiDamian Cieślik
6 mie. temu

No tutaj nie umiem pomóc. Nie potrafię odpowiedzieć na zadane pytanie, ponieważ nie występuje takowy błąd w moim środowisku. Ale sprawdziłbym przez SQL Profiler zapytanie, które jest wykonane i zobaczyłbym czy coś się rzuci w oczy. Jeżeli dobrze kojarzę, to zapytanie wykonuje się, a Comarch zwraca błąd z silnika bazy danych także myślę, że to jedno z możliwych rozwiązań i w sumie na ten moment inne mi nie przychodzi do głowy. Dzięki temu znajdziesz zapytanie, które jest błędne i określisz jakiego typu leci błąd.

Masz pytanie?

zadaj pytanie

Masz pomysł?

zgłoś pomysł