Forum Użytkownikow Subiekt GT
InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: kombit w Styczeń 12, 2018, 22:10:57
-
Witam,
Proszę o pomoc bo nie mogę załapać składni CHL_DB
napisałem zestawienie które liczy mi ilość towarów potrzebnych do zamówienia jeśli ilość spadnie poniżej minimalnej.
Ta ilość to różnica mojego stanu optymalnego (wpisywane w polu własnym kartoteki towaru) i stanu minimalnego. Chcę aby można zawężać listę do grup towarowych.
select
tw__Towar.tw_Symbol as Symbol, tw__Towar.tw_Nazwa as Nazwa, tw__Towar.tw_DostSymbol as Położenie, sl_GrupaTw.grt_nazwa as Grupa, tw_Stan.st_Stan as Ilość, tw__towar.tw_StanMin as Stan_Minimalny,
tw__towar.tw_Pole1 as Stan_Optymalny,
(Tw__Towar.tw_Pole1-tw_Stan.st_Stan) as Do_Zamowienia
from
dbo.tw__Towar
JOIN dbo.Tw_Stan on
tw_Stan.st_TowId =Tw__Towar.tw_Id
and tw_Stan.st_Stan<=Tw__Towar.Tw_StanMin
join sl_GrupaTw on
sl_GrupaTw.grt_id=tw__towar.tw_idgrupa
and (sl_GrupaTw.grt_nazwa in ({CHL_DB: SELECT grt_id, grt_Nazwa FROM sl_grupatw ORDER BY grt_nazwa: Grupa}))
błędu niby nie pokazuje w sprawdzeniu ale już przy liczeniu wybór działa ale mam błąd zapytania.
Pozdrawiam
-
Nie rozumiem skąd taka powszechna niechęć do zaglądania do pomocy do programu, zwłaszcza w tak technicznym obszarze jak zestawienia SQL... Cytat z pomocy do programu z tematu "Zestawienia własne SQL":
Zestawienia z parametrami przekazywanymi przez kontrolkę listy z opcją multiwyboru
Lista z opcją multiwyboru wypełniana wynikiem zapytania
Moduł zestawień SQL w systemie InsERT GT od wersji 1.05 pozwala wykorzystywać kontrolkę listy z opcją multiwyboru. Lista może być wypełniana zapytaniem SQL lub zestawem podanych elementów.
W tym punkcie przedstawione będą zasady postępowania z listą wypełnioną zapytaniem SQL. Zapytanie będące źródłem listy powinno zwracać dwa pola:
- pierwsza kolumna jest kolumną związaną, która po wyborze wartości w polu kombi jest przekazywana do zapytania nadrzędnego (musi zawierać wartość typu LICZBA CAŁKOWITA)
- druga kolumna jest kolumną wyświetlaną w polu kombi (musi zwracać wartość typu ŁAŃCUCH ZNAKOWY)
jak wynika z powyższego porównujesz nazwę grupy z jej identyfikatorem, więc nie może się udać...
-
Dzięki wielkie już załapałem :)
Twoje odpowiedzi zawsze zmuszają do myślenia ale wskazówki są bezcenne :)
Proszę jeszcze o jedną podpowiedź.
W zestawieniu pokazuje mi towary po zaznaczeniu grupy, a jeśli towar nie ma przypisanej żadnej? Da się jakoś prosto (dla początkujących w sql) wyświetlić też z dowolnej grupy i bez grupy?
-
1. Tabelę grup musi połączyć przez LEFT JOIN
2. W warunkach musisz uwzględnić że w zawartości pola może być NULL.
Poczytaj o porównaniu NULL i o ISNULL()