日期:2014-05-18  浏览次数:20471 次

两表查询。结果要这样的,怎么写语句
EFIXDATA表。
字段有
SAMPLING_DATETIME,                     SITE_ID
2007-5-20   23:30:00       4013
2007-5-20   1:30:00         4014
2007-5-20   23:30:00       4015
2007-5-20   21:30:00       4016
2007-5-20   23:10:00       4013
2007-5-20   23:30:00       4014
2007-5-20   23:40:00       4015
T_DIC_SUBSITE表
字段有
SITE_ID,   SITE_NAME
我要得到的是  
SITE_ID,   SITE_NAME     SAMPLING_DATETIME,
4013           。。。。。     2007-5-20   23:30:00
4014           。。。。       2007-5-20   23:30:00
4015           。。。。       2007-5-20   23:40:00
4016           。。。。。     2007-5-20   21:30:00

意思各个SITE_ID   最后时间的一条数据


------解决方案--------------------
SELECT A.SITE_ID, B.SITE_NAME, MAX(SAMPLING_DATETIME) AS SAMPLING_DATETIME
FROM EFIXDATA
INNER JOIN T_DIC_SUBSITEB ON A.SITE_ID = B.SITE_ID
------解决方案--------------------
select t.*,v.mTime
from T_DIC_SUBSITE t
left join
(select SITE_ID,max(SAMPLING_DATETIME) mTime from EFIXDATA GROUP BY SITE_ID) v
on t.SITE_ID=v.SITE_ID
前提T_DIC_SUBSITE表中沒有重復.