Piotr Trychta Programista .NET
Temat: Select i Join...
baza MSSQLmam w przybliżeniu takie zapytanie:
SELECT
d.[ID] AS DeliveryID,
d.[Reference] AS CurrentRequested,
rds.[DeliveryID] AS PreviousRequestedSnapshot, --ale też będzie Reference
FROM
VIEW_LatestDeliveryStatus v_lds LEFT OUTER JOIN
Delivery d ON (v_lds.DeliveryID = d.ID) LEFT OUTER JOIN
RequestedDeliverySnapshot rds ON (rds.[DeliveryID] = d.[ID])
WHERE (v_lds.[DeliveryStatusTypeID] = 5)
VIEW_LatestDeliveryStatus to jest widok który przechowuje DeliveryID i status (status 5 to przesyłki NIE zrealizowane).
RequestedDeliverySnapshot tutaj są przechowywane przesyłki NIE zrealizowane na dzień poprzedni (ta tabela to taka migawka która jest generowana w nocy).
W kolumnie CurrentRequested mają być wszystkie zamówienia nie zrealizowane (status 5), w kolumnie PreviousRequestedSnapshot wszystkie dane z tabeli RequestedDeliverySnapshot.
Wszystko było by dobrze, tylko nie mam rekordu 2010.01.0003 - oznacza to przesyłkę która na chwilę obecną jest już zrealizowana, ale jeszcze wczoraj nie była.
Jak można zmodyfikować moje zapytanie żeby mieć tą wartość?
Ma to w przybliżeniu dawać takie dane:
CurrentRequested | PreviousRequestedSnapshot
2010.01.0001 | 2010.01.0001
2010.01.0002 | 2010.01.0002
NULL | 2010.01.0003
2010.01.0004 | NULL
2010.01.0005 | 2010.01.0005
Total 4 4Piotr Trychta edytował(a) ten post dnia 15.09.10 o godzinie 19:25