konto usunięte
Temat: SQL - zapytania - wejście/wyjście na magazyn
Witam wszystkichmam 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 ;)