如何在選擇查詢中給出where條件?如何在選擇查詢中給出where條件?
ACCESS 2003
我的查詢
SELECT RECORDNO, PERSONID, EMPNAME, TITLENAME, DEPARTMENT, NATION,
CARDEVENTDATE, INTIME, OUTTIME, (select TOP 1 F1.CARDEVENTDATE from
tmp_cardevent as F1 where F1.RECORDNO < F2.RECORDNO AND F1.PERSONID =
F2.PERSONID order by F1.RECORDNO DESC, F1.PERSONID DESC) AS PrevDate,
(select TOP 1 F1.OUTTIME from tmp_cardevent as F1 where F1.RECORDNO <
F2.RECORDNO AND F1.PERSONID = F2.PERSONID order by F1.RECORDNO DESC,
F1.PERSONID DESC) AS PrevOut FROM tmp_cardevent AS F2
我想用:
WHERE CARDEVENTDATE BETWEEN '" & sdate & "' AND '" & edate & "'
從上面的查詢我怎麼可以給where條件,我嘗試這樣做:
SELECT RECORDNO, PERSONID, EMPNAME, TITLENAME, DEPARTMENT, NATION,
CARDEVENTDATE, INTIME, OUTTIME, (select TOP 1 F1.CARDEVENTDATE from
tmp_cardevent as F1 where F1.RECORDNO < F2.RECORDNO AND F1.PERSONID =
F2.PERSONID order by F1.RECORDNO DESC, F1.PERSONID DESC) AS PrevDate,
(select TOP 1 F1.OUTTIME from tmp_cardevent as F1 where F1.RECORDNO <
F2.RECORDNO AND F1.PERSONID = F2.PERSONID order by F1.RECORDNO DESC,
F1.PERSONID DESC) AS PrevOut FROM tmp_cardevent AS F2
WHERE F2.CARDEVENTDATE BETWEEN '" & sdate & "' AND '" & edate & "'
但它顯示「數據類型不匹配錯誤」
而且我也試過:
SELECT RECORDNO, PERSONID, EMPNAME, TITLENAME, DEPARTMENT, NATION,
CARDEVENTDATE, INTIME, OUTTIME, (select TOP 1 F1.CARDEVENTDATE from
tmp_cardevent as F1 where F1.RECORDNO < F2.RECORDNO AND F1.PERSONID =
F2.PERSONID and F2.CARDEVENTDATE BETWEEN '" & sdate & "' AND '" & edate
& "' order by F1.RECORDNO DESC, F1.PERSONID DESC) AS PrevDate, (select
TOP 1 F1.OUTTIME from tmp_cardevent as F1 where F1.RECORDNO <
F2.RECORDNO AND F1.PERSONID = F2.PERSONID order by F1.RECORDNO DESC,
F1.PERSONID DESC) AS PrevOut FROM tmp_cardevent AS F2 WHERE
F2.CARDEVENTDATE BETWEEN '" & sdate & "' AND '" & edate & "'
但它顯示相同的「數據類型不匹配錯誤」
任何一個可以幫我請
正確,快速! +1 – Cerebrus 2009-07-02 12:05:36