zapytanie wyciągające ilość na magazynie

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

Moderator: mikey

Awatar użytkownika
wojtek
Posty: 359
Rejestracja: 14 gru 2007, 12:23
Rola: Administrator CDN XL
Wersja: 9.8
Lokalizacja: pomorskie

zapytanie wyciągające ilość na magazynie

Post autor: wojtek »

Witam

pracuje nad zapytaniem które wyciągnie ilość na magazynie z tabeli cdn.twrzasoby, wszystko jest ok jeśli dany indeks znajduje się na magazynie, problem jeśli jego stan jest "0", wówczas nic się nie wyświetla ponieważ nie ma rekordów w tabeli cdn.twrzasoby.

Jak zrobić aby w takiej sytuacji pokazał 0, tak jak robi to ERPXL

SELECT twr_kod,twr_nazwa,twr_jm, twz_ilmag, mag_kod
from cdn.TwrKarty
inner join cdn.twrzasoby on twr_gidnumer=twz_twrnumer
inner join cdn.magazyny on twz_magnumer=mag_gidnumer
where twr_kod in ('500-0-100-000026')

pozdrawiam

sebek
Posty: 261
Rejestracja: 16 sty 2012, 23:21
Rola: Konsultant CDN XL
Lokalizacja: Łódź/Częstochowa
Kontakt:

Re: zapytanie wyciągające ilość na magazynie

Post autor: sebek »

Witam,

Kod: Zaznacz cały

SELECT twr_kod,twr_nazwa,twr_jm, isnull(twz_ilmag,0), mag_kod	
from cdn.TwrKarty 
left join cdn.twrzasoby on twr_gidnumer=twz_twrnumer	
left join cdn.magazyny on twz_magnumer=mag_gidnumer 
where twr_kod in ('500-0-100-000026')
Pozdrawiam,
Sebek

Awatar użytkownika
wojtek
Posty: 359
Rejestracja: 14 gru 2007, 12:23
Rola: Administrator CDN XL
Wersja: 9.8
Lokalizacja: pomorskie

Re: zapytanie wyciągające ilość na magazynie

Post autor: wojtek »

Dzięki, ale dodają warunek odnośnie magazynu, aby pokazywał tylko z jednego magazynu zasoby ?

taka wersja nie działa, chodzi o to aby jeśli jest jakiś indeks na M-10 to niech pokaże ile, a jeśli nie ma to niech pokaże 0

SELECT twr_kod,twr_nazwa,twr_jm, isnull(twz_ilmag,0), mag_kod
from cdn.TwrKarty
left join cdn.twrzasoby on twr_gidnumer=twz_twrnumer
left join cdn.magazyny on twz_magnumer=mag_gidnumer
where twr_kod in ('500-0-100-000026') and mag_kod='M-10'

taszek
Posty: 609
Rejestracja: 12 wrz 2012, 13:20
Rola: Administrator CDN XL
Wersja: 2016

Re: zapytanie wyciągające ilość na magazynie

Post autor: taszek »

Kod: Zaznacz cały

DECLARE @MagKod varchar(10)
SET @MagKod = 'M-10'

SELECT Twr_Kod
		,Twr_Nazwa
		,Twr_Jm
		,(SELECT ISNULL((SELECT SUM(TwZ_IlMag)
			FROM CDN.TwrZasoby
			JOIN CDN.Magazyny ON TwZ_MagNumer = MAG_GIDNumer AND TwZ_MagTyp = MAG_GIDTyp
			WHERE MAG_Kod = @MagKod AND TwZ_TwrNumer = Twr_GIDNumer AND TwZ_TwrTyp = Twr_GIDTyp
			GROUP BY TwZ_TwrNumer, TwZ_TwrTyp),0)) 'IlMag'
		,@MagKod 'Mag_Kod'
FROM CDN.TwrKarty
WHERE Twr_Kod IN ('500-0-100-000026')
lub

Kod: Zaznacz cały

DECLARE @MagKod varchar(10)
SET @MagKod = 'M-10'

SELECT Twr_Kod
		,Twr_Nazwa
		,Twr_Jm
		,ISNULL(Mag.IlMag,0)
		,@MagKod 'MagKod'
FROM CDN.TwrKarty
LEFT JOIN (SELECT TwZ_TwrNumer, TwZ_TwrTyp, SUM(TwZ_IlMag) 'IlMag'
			FROM CDN.TwrZasoby
			JOIN CDN.Magazyny ON TwZ_MagNumer = MAG_GIDNumer AND TwZ_MagTyp = MAG_GIDTyp
			WHERE MAG_Kod = @MagKod 
			GROUP BY TwZ_TwrNumer, TwZ_TwrTyp) AS Mag ON Mag.TwZ_TwrNumer = Twr_GIDNumer AND Mag.TwZ_TwrTyp = Twr_GIDTyp
WHERE Twr_Kod IN ('500-0-100-000026')
Pozdrawiam
Wojtek Cyrklewicz

Awatar użytkownika
wojtek
Posty: 359
Rejestracja: 14 gru 2007, 12:23
Rola: Administrator CDN XL
Wersja: 9.8
Lokalizacja: pomorskie

Re: zapytanie wyciągające ilość na magazynie

Post autor: wojtek »

właśnie o to mi chodziło, dzięki za pomoc.

pozdrawiam

ODPOWIEDZ