寫成以下那樣還是慢,不過好一點, 請大家繼續幫忙,謝謝!!!SELECT yy.employeecode, yy.employeename, yy.department, yy.attenddate, xx.dailyshift, yy.attendtime, yy.station FROM [select distinct c.employeeid, d.dailyshift from processeddata as c,dailyshift as d where c.dailyshiftid=d.id and d.dailyshift='注日A' and format(c.attenddate,'yyyy-mm-dd')>='2003-11-01' and format(c.attenddate,'yyyy-mm-dd')<='2003-11-17']. AS xx, [select b.id,a.employeecode,b.employeename,b.department, a.attenddate,a.attendtime,a.Station from attenddata as a ,employee as b where b.employeecode=a.employeecode and format(a.attenddate,'yyyy-mm-dd')>='2003-11-01' and format(a.attenddate,'yyyy-mm-dd')<='2003-11-17' and format(a.attendtime,'HH:mm')>='08:00' and format(a.attendtime,'HH:mm')<='18:00']. AS yy WHERE xx.employeeid=yy.id ORDER BY yy.employeecode, yy.attenddate, yy.attendtime;
FROM [select distinct c.employeeid, d.dailyshift from processeddata as c,dailyshift as d where c.dailyshiftid=d.id and d.dailyshift='注日A' and format(c.attenddate,'yyyy-mm-dd')>='2003-11-01' and format(c.attenddate,'yyyy-mm-dd')<='2003-11-17']. AS xx, [select b.id,a.employeecode,b.employeename,b.department, a.attenddate,a.attendtime,a.Station from attenddata as a ,employee as b where b.employeecode=a.employeecode and format(a.attenddate,'yyyy-mm-dd')>='2003-11-01' and format(a.attenddate,'yyyy-mm-dd')<='2003-11-17' and format(a.attendtime,'HH:mm')>='08:00' and format(a.attendtime,'HH:mm')<='18:00']. AS yy
WHERE xx.employeeid=yy.id
ORDER BY yy.employeecode, yy.attenddate, yy.attendtime;
我的邮件地址:[email protected]
另外请注明查询中表的数据量的大小。