Hi, I've two tables:
Product:
ProductID
ProductName
StateLog:
StateLogID
ProductID (Foreign Key)
State (bit)
TimeStramp (DateTime)
I need to find the heighest StateLog.TimeStamp for each StateLog.ProductID there have the StateLog.State = 0
Hi, I've two tables:
Product:
ProductID
ProductName
StateLog:
StateLogID
ProductID (Foreign Key)
State (bit)
TimeStramp (DateTime)
I need to find the heighest StateLog.TimeStamp for each StateLog.ProductID there have the StateLog.State = 0
WITH ProductTimeStamps AS
(
SELECT ProductID, Max(TimeStamp) FROM SateLog WHERE State=0 GROUP BY ProductID
)
SELECT sl.StateLogID, sl.ProductID, sl.TimeStamp
FROM StateLog sl
INNER JOIN ProductTimeStamps pts ON pts.ProductID = sl.ProductID AND pts.TimeStamp = sl.TimeStamp
WHERE sl.State = 0
try:
SELECT
p.ProductID, p.ProductName, dt.MaxTimeStamp
FROM Product p
LEFT OUTER JOIN (SELECT
ProductID, MAX(TimeStramp) AS MaxTimeStamp
FROM StateLog
WHERE State = 0
GROUP BY ProductID
) dt ON p.ProductID =dt.ProductID
ORDER BY p.ProductName
or just:
SELECT
ProductID, MAX(TimeStramp) AS MaxTimeStamp
FROM StateLog
WHERE State = 0
GROUP BY ProductID