Forum Użytkownikow Subiekt GT

InsERT GT => Dodatki - zestawienia - sfera => Wątek zaczęty przez: kopio w Sierpień 24, 2016, 16:06:29

Tytuł: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: kopio w Sierpień 24, 2016, 16:06:29
Witam

        Potrzebuje zestawienia towarów w realizowanych zamówieniach. Na forum znalazłem i minimalnie zmieniłem coś takiego (poniżej). Generalnie spełnia moje oczekiwania. Jednak gdy by ktoś mógł podpowiedzieć jak dodać wybór magazynów albo chociaż ograniczyć działanie zapytania tylko do głównego magazynu to był bym wdzięczny.


SELECT tw_Symbol As Symbol
, tw_Nazwa as Nazwa
, SUM(ob_IloscMag * ob_Znak) as Ilosc
, ( SELECT SUM(st_Stan) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Stan
, tw_JednMiary as Jm
, SUM(ob_WartNetto * ob_Znak) as 'Wartosc Netto'
,  SUM(ob_WartBrutto * ob_Znak) as 'WartoscBrutto' 
, ( SELECT SUM(st_StanRez) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Rezerwacja   
, ( SELECT SUM(st_Stan - st_StanRez) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Dostepne   
FROM vwDok4ZamGrid
INNER JOIN dok_Pozycja ON dok_Id = ob_DokHanId
INNER JOIN tw__Towar ON ob_TowId = tw_Id
WHERE (
 (dok_TerminRealizacji BETWEEN {DR:Realizowane w okresie:} )
AND (dok_Typ=16) AND dok_statusex<2
)
GROUP BY Tw_Symbol, tw_Nazwa, tw_JednMiary, ob_TowId
Tytuł: Odp: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: candy w Sierpień 24, 2016, 16:19:32
Dodaj warunek
dok_MagId = {WYBRANY_MAGAZYN}
Tytuł: Odp: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: kopio w Sierpień 24, 2016, 17:03:52
Działa, dziękuje.
Tytuł: Odp: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: kopio w Marzec 06, 2017, 19:02:39
Witam ponownie.

Zapytanie do dzisiaj spisuje się znakomicie , powstała tylko nowa potrzeba tz. żeby podawało też nazwę kontrahenta (domyślam się że to adrh_Nazwa) . Był bym wdzięczny za pomoc.
Tytuł: Odp: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: dkozlowski w Marzec 06, 2017, 19:46:49
Nie trzeba się domyślać, można po prostu przeczytać:
Tytuł: Odp: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: kopio w Marzec 07, 2017, 17:07:24
OK, źle sformułowałem swoją prośbę. Poprawiam się. Jak poprawnie rozbudować poniższe zapytanie o kolumnę adrh_Nazwa

SELECT
  tw_Nazwa as Nazwa
, tw_Symbol As Symbol
, SUM(ob_IloscMag * ob_Znak) as Ilosc
, dok_NrPelny as Dokument
, dok_TerminRealizacji Termin
, ( SELECT SUM(st_Stan) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Stan
, tw_JednMiary as Jm
, ( SELECT SUM(st_StanRez) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Rezerwacja   
, ( SELECT SUM(st_Stan - st_StanRez) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Dostepne   
FROM vwDok4ZamGrid
INNER JOIN dok_Pozycja ON dok_Id = ob_DokHanId
INNER JOIN tw__Towar ON ob_TowId = tw_Id
WHERE (
 (dok_TerminRealizacji BETWEEN {DR:Zamówione w okresie:} )
AND (dok_Typ=16) AND dok_status<>8 AND dok_MagId=3
)
GROUP BY Tw_Symbol, tw_Nazwa, tw_JednMiary, ob_TowId, dok_NrPelny, dok_TerminRealizacji
Tytuł: Odp: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: dkozlowski w Marzec 07, 2017, 23:16:03
Za bardzo nie ma się nd czym zastanawiać, należy dodać złączenie z tabelą adr_Historia, dodać potrzebne kolumny do klauzuli "select" oraz "group by".
Tytuł: Odp: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: kopio w Marzec 10, 2017, 19:49:06
Problem rozwiązany, dziękuje za podpowiedź.

SELECT
  adrh_Nazwa AS Klient
, tw_Nazwa as Nazwa
, tw_Symbol As Symbo
, SUM(ob_IloscMag * ob_Znak) as Ilosc
, dok_NrPelny as Dokument
, dok_TerminRealizacji Termin
, ( SELECT SUM(st_Stan) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Stan
, tw_JednMiary as Jm
, ( SELECT SUM(st_StanRez) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Rezerwacja   
, ( SELECT SUM(st_Stan - st_StanRez) FROM tw_stan WHERE st_TowId = ob_TowId   GROUP BY st_TowId ) AS Dostepne   
FROM dok__Dokument dok left join adr_historia adr on dok.dok_platnikadreshid=adr.adrh_id
INNER JOIN dok_Pozycja ON dok_Id = ob_DokHanId
INNER JOIN tw__Towar ON ob_TowId = tw_Id
WHERE (
 (dok_TerminRealizacji BETWEEN {DR:Zamówione w okresie:} )
AND (dok_Typ=16) AND dok_status<>8 AND dok_MagId=3
)
GROUP BY Tw_Symbol, tw_Nazwa, tw_JednMiary, ob_TowId, dok_NrPelny, dok_TerminRealizacji,  adrh_Nazwa
Tytuł: Odp: Zamówienia w realizacji z podziałem na towary
Wiadomość wysłana przez: ironic_ w Sierpień 03, 2017, 13:24:39
A co trzeba dopisać żeby zamiast adresu kontrahenta był podany domyślny dostawca?

A w zasadzie jego symbol (czyli kh_symbol)