konto usunięte

Temat: SQL - zapytania - wejście/wyjście na magazyn

Witam wszystkich
mam pewien problem z zapytaniami SQLowymi do bazy. Potrzebuję wyciągnąć kilka danych (w tym Features.Data - w moim przypadku Features.Name=SN czyli numer seryjny indywidualny dla każdego egzemplarza produktu). O ile przy 'wejściu' (PZ, MMP) na magazyn problem nie istnieje o tyle przy 'wyjściach' (MMW, FV, FF) z magazynu nie mogę zczytać Features.Data - wartości NULL.

Znalazłem pomysł, aby łączyć zapytania wejściowe z wjściowymi za pomocą tabeli PozRelHandlowej, ale za nic nie mogę uzyskać satysfakcjonujących wyników. Często zdarza się, że SN, który powinien być unikalny, występuje wiele razy.

Poniżej zapytania:
-------------------------------------------------------- PZ --------------------------------
Kod:
SELECT PozycjeDokHan.Nazwa, DokHandlowe.Magazyn, DokHandlowe.Data, Towary.Kod, NumerPelny, Features.Data, Features.DataKey, Kontrahenci.Nazwa AS Konrahenci1
FROM [****].[dbo].[PozycjeDokHan]

INNER JOIN [****].[dbo].[Towary] ON PozycjeDokHan.Towar=Towary.ID
RIGHT JOIN [****].[dbo].[DokHandlowe] ON PozycjeDokHan.Dokument=DokHandlowe.ID
INNER JOIN [****].[dbo].[Features] ON PozycjeDokHan.ID=Features.Parent
INNER JOIN [****].[dbo].[Kontrahenci] ON DokHandlowe.Kontrahent=Kontrahenci.ID

WHERE DokHandlowe.Data > '2015-01-01'AND DokHandlowe.Magazyn = '31' AND NumerPelny LIKE 'PZ%'

ORDER BY DokHandlowe.Data DESC

--------------------------------------------------------------------------------------------------

------------------------------------------------------- MM ------------------------------------
Kod:
SELECT PozycjeDokHan.Nazwa, DokHandlowe.Magazyn, DokHandlowe.Data, NumerPelny, Features.Data, Features.DataKey, DokHandlowe.KierunekMagazynu
FROM [****].[dbo].[DokHandlowe]

INNER JOIN [****].[dbo].[PozycjeDokHan] ON PozycjeDokHan.Dokument=DokHandlowe.ID
INNER JOIN [****].[dbo].[Features] ON PozycjeDokHan.ID=Features.Parent

WHERE (Magazyn = '31' OR Magazyn = '32') AND NumerPelny LIKE 'MM%' AND Features.Name = 'SN' AND DokHandlowe.KierunekMagazynu = '1'

----------------------------------------------------------------------------------------------------
---------------------------------------------------- FV, FF ---------------------------------------
Kod:
SELECT TOP 1000 Features.Data, Towary.Kod, PozycjeDokHan.Nazwa AS NazwaSprzedaz, NumerPelny AS NumerPelnySprzedaz, DokHandlowe.Data AS DokHandloweDataSprzedaz, Kontrahenci.Nazwa AS KontrahenciNazwaSprzedaz, DokHandlowe.Magazyn

FROM [****].[dbo].[PozycjeDokHan]

INNER JOIN [****].[dbo].[DokHandlowe] ON PozycjeDokHan.Dokument=DokHandlowe.ID
RIGHT JOIN [****].[dbo].[Kontrahenci] ON DokHandlowe.Kontrahent=Kontrahenci.ID
INNER JOIN [****].[dbo].[Towary] ON PozycjeDokHan.Towar=Towary.ID
LEFT JOIN [****].[dbo].[Features] ON PozycjeDokHan.ID=Features.Parent
INNER JOIN [****].[dbo].[PozRelHandlowej] ON PozRelHandlowej.NadrzednyDok = DokHandlowe.ID

WHERE (NumerPelny LIKE 'FV%' OR NumerPelny LIKE 'FF%')

--------------------------------------------------------------------------------------------------

Będę ogromnie wdzięczny za pomoc ;)