Мне нужно извлечь MAX seendate из подзапроса, на который он похож, и я могу сделать это для конкретного Предмета, но как только я уберу предложение WHERE для конкретного Предмета, он ничего не отображает, см. Ниже:
SELECT Item.Barcode,
Hetype.Description,
StockTakeDetails.SeenDate,
Users.UserName,
defcon.Defcon_text,
JOBS.Job_Ref,
JOBS."Due Back"
FROM Item
INNER JOIN Hetype ON Item.Type = Hetype.Type
INNER JOIN StockTakeDetails ON Item.Itemref = StockTakeDetails.xItemID
INNER JOIN Users ON Users.UID = StockTakeDetails.xUserSeen
INNER JOIN EQLISTS ON Item.CurrentJob = EQLISTS.Eql_no
INNER JOIN JOBS ON EQLISTS.Job_no = JOBS.JobNo
INNER JOIN defcon ON JOBS.Status = defcon.Defcon_idx
WHERE JOBS."Due Back" >= TIMESTAMP '2019-01-01 00:00:00' AND
JOBS.Status <> 5 AND
Item.Barcode = '038223' AND
StockTakeDetails.IDX = (SELECT Max(StockTakeDetails.IDX)
FROM StockTakeDetails INNER JOIN Item ON StockTakeDetails.xItemID =
Item.Itemref WHERE Item.Barcode = '038223')
Это работает нормально, но если я уберу предложение Barcode, оно не покажет никаких данных:
SELECT Item.Barcode,
Hetype.Description,
StockTakeDetails.SeenDate,
Users.UserName,
defcon.Defcon_text,
JOBS.Job_Ref,
JOBS."Due Back"
FROM Item
INNER JOIN Hetype ON Item.Type = Hetype.Type
INNER JOIN StockTakeDetails ON Item.Itemref = StockTakeDetails.xItemID
INNER JOIN Users ON Users.UID = StockTakeDetails.xUserSeen
INNER JOIN EQLISTS ON Item.CurrentJob = EQLISTS.Eql_no
INNER JOIN JOBS ON EQLISTS.Job_no = JOBS.JobNo
INNER JOIN defcon ON JOBS.Status = defcon.Defcon_idx
WHERE JOBS."Due Back" >= TIMESTAMP '2019-01-01 00:00:00' AND
JOBS.Status <> 5 AND
StockTakeDetails.IDX = (SELECT Max(StockTakeDetails.IDX)
FROM StockTakeDetails INNER JOIN Item ON StockTakeDetails.xItemID =
Item.Itemref)
Пожалуйста, дайте мне знать, как еще я могу это сделать.
Спасибо