希望有人可以帮助我。我正在尝试通过 ODBC/ms 查询获取即将发布的标题列表(我从事出版工作)。我希望(除其他外)显示他们的内部状态(已批准、印前等)。数据库存储状态的更改日期。我似乎每个标题的每个状态都有一行。因此,如果标题已更改状态 6 次,我将得到 6 行。但我只想显示最新状态...
日期在 BL_PROJECT_TO_STATUS.STATUS_DATE 中(我在下面插入了一个日期条件,只是为了让它更明显)。
如何才能做到这一点?我对 ODBC 很陌生,非常感谢。
SELECT DISTINCT
BL_PROJECT.EXP_PUB_DATE, BL_PROJECT.EAN, BL_PROJECT.TITEL,
MEDIATYPE.DESCRIPTION, BL_PROJECT_STATUS.DESCRIPTION
FROM
FIRMA1.BL_PROJECT BL_PROJECT, FIRMA1.BL_PROJECT_STATUS BL_PROJECT_STATUS,
FIRMA1.BL_PROJECT_TO_STATUS BL_PROJECT_TO_STATUS, FIRMA1.MEDIATYPE MEDIATYPE
WHERE
BL_PROJECT.PROJECT_ID = BL_PROJECT_TO_STATUS.PROJECT_ID AND
BL_PROJECT_TO_STATUS.STATUS_ID = BL_PROJECT_STATUS.CODE AND
BL_PROJECT.MEDIATYPE = MEDIATYPE.ID AND
((BL_PROJECT.PROJECT_TYPE = 2) AND
(BL_PROJECT.EXP_PUB_DATE Between SYSDATE AND (SYSDATE+90)) AND
(BL_PROJECT_TO_STATUS.STATUS_DATE = {ts '2013-11-20 00:00:00'}))
ORDER BY
BL_PROJECT.EXP_PUB_DATE, BL_PROJECT.EAN, BL_PROJECT.TITEL