Я хотел бы переписать этот запрос для Microsoft Access 2003:
SELECT t1.PERSONID
,t1.CARDEVENTDATE
,MIN(t1.CARDEVENTTIME1) AS Intime
,MAX(t2.CARDEVENTTIME1) AS Outtime
FROM ( SELECT PERSONID
, CARDEVENTDATE
, FUNCTIONKEY
, CONVERT(VARCHAR(10), SUBSTRING(CARDEVENTTIME, 1, 2) + ':' + SUBSTRING(CARDEVENTTIME, 3, 2) + ':' + SUBSTRING(CARDEVENTTIME, 5, 2), 8)
AS CARDEVENTTIME1
FROM T_CARDEVENT
WHERE (FUNCTIONKEY = 'A')) AS t1
LEFT OUTER JOIN (SELECT PERSONID
,CARDEVENTDATE, CARDEVENTDAY, FUNCTIONKEY
,CONVERT(VARCHAR(10), SUBSTRING(CARDEVENTTIME, 1, 2) + ':' + SUBSTRING(CARDEVENTTIME, 3, 2) + ':' + SUBSTRING(CARDEVENTTIME, 5, 2), 8)
AS CARDEVENTTIME
FROM T_CARDEVENT AS T_CARDEVENT_3)
AS t2
ON t1.PERSONID = t2.PERSONID
AND t1.CARDEVENTDATE = t2.CARDEVENTDATE
GROUP BY t1.PERSONID, t1.CARDEVENTDATE )
Вышеуказанное работает в SQL Server, но в Access я попытался выполнить этот запрос. выдает ошибку в convert
.
Как мне изменить свой запрос в соответствии с Access 2003? Каков подходящий эквивалент для функции преобразования TSQL в Access 2003?