我可以就这个查询寻求帮助吗?physicianmasterfile.idno并CHECKINOUT.userid具有相同的值来比较数据。问题是查询有重复的结果。
SELECT DISTINCT CHECKINOUT.CHECKTIME,
physicianmasterfile.idno,
physicianmasterfile.lastname,
physicianmasterfile.firstname,
physicianmasterfile.middlename,
physicianmasterfile.fingerscanno,
CONVERT(DATE, CHECKINOUT.CHECKTIME) AS Date,
CONVERT(TIME(0),CHECKINOUT.CHECKTIME) AS Time
FROM
physicianmasterfile,
CHECKINOUT
WHERE
CHECKINOUT.userid=physicianmasterfile.fingerscanno AND
CONVERT(DATE, CHECKINOUT.CHECKTIME) = CONVERT(DATE, SYSDATETIME()) AND
YEAR(CHECKINOUT.CHECKTIME) = YEAR(SYSDATETIME()) AND
CHECKINOUT.CHECKTYPE='I'
ORDER BY CHECKINOUT.CHECKTIME
我知道这UNION可以解决这个问题,但我不确定如何处理这个问题,physicianmasterfile因为我需要在查询中包含多个列,而CHECKINOUT我只需要 1 列。
这是上述查询的示例数据。
不应有重复的结果。
这是我到目前为止所得到的,但没有运气。
SELECT distinct R.idno, R.lastname, R.firstname, R.middlename, R.fingerscanno,
LD.CHECKTIME, LD.CHECKTYPE,LD.USERID
FROM physicianmasterfile As R
LEFT JOIN CHECKINOUT AS LD on LD.USERID = R.fingerscanno
WHERE
CONVERT(DATE, LD.CHECKTIME) = CONVERT(DATE, SYSDATETIME()) AND
YEAR(LD.CHECKTIME) = YEAR(SYSDATETIME()) AND
LD.CHECKTYPE='I'
ORDER BY R.idno desc
繁花不似锦