ZS - kolumna SQL - cena uzgodniona i precyzja

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

Kris86
Posty: 206
Rejestracja: 09 wrz 2021, 18:27
Rola: Administrator CDN XL
Wersja: 2019

Re: ZS - kolumna SQL - cena uzgodniona i precyzja

Post autor: Kris86 »

Cześć,
Jeżeli chodzi o

Kod: Zaznacz cały

WHERE (Knt_Akronim = 'Kontrahent1' 
    OR Knt_Akronim = 'Kontrahent2' 
    OR Knt_Akronim = 'Kontrahent3') 
  AND {filtrsql}
Mam około 100 kontrahentów, których akronim FirmaXYZ zaczyna się podobnie np. FirmaXYZ1, FirmaXYZ2, FirmaXYZ3,...itd
Czy można to skrócić (FirmaXYZ* , gid kontrahenta) abym nie musiał wpisywać 100 razy Knt_Akronim = 'FirmaXYZ1' OR Knt_Akronim = 'FirmaXYZ2' OR Knt_Akronim = 'FirmaXYZ3' ... itd
Bo nie wiem tutaj, jak też będzie wyglądało obciążenie bazy danych, z takiego zapytania SQL.

Dziękuję za wszelką pomoc.

Awatar użytkownika
praiser
Posty: 1091
Rejestracja: 02 lip 2014, 12:22
Rola: Handlowiec CDN XL
Wersja: 2023

Re: ZS - kolumna SQL - cena uzgodniona i precyzja

Post autor: praiser »

bez komplikacji zagadnienia to po prostu użyj

Kod: Zaznacz cały

WHERE Knt_Akronim LIKE 'FirmaXYZ%' AND {filtrsql}
LIKE 'ciąg%' czyli znajdź wszystkie wpisy zaczynające się od 'ciąg' , oraz które kończą się dowolną liczbą, dowolnych znaków

każdy nowy wpis z zachowanym powyższym schematem nazewnictwa automatycznie znajdzie się w warunku. SQL sam się zoptymalizuje.

Jeśli prefiks nie jest stały lub potrzebujesz bardziej złożonych warunków, możesz użyć IN z listą GID-ów, ale w tym przypadku LIKE jest najprostsze.
--------------------------------
Pozdrawiam
WW

ODPOWIEDZ