有人可以帮我看看这个查询吗?选择多列一组?
SELECT CLIENT.ID_CLIENT ,
EVALUATION_CLIENT.ID_EVAL ,
MAX(EVALUATION_CLIENT.Date) AS DATE
FROM EVALUATION_CLIENT
INNER JOIN CLIENT
ON CLIENT.ID_CLIENT = EVALUATION_CLIENT.FK_IDClient
WHERE EVALUATION_CLIENT.Date
BETWEEN @START_DATE_LOCAL
AND @END_DATE_LOCAL
GROUP BY CLIENT.IDCLIENT,
EVALUATION_CLIENT.ID_EVAL
它返回......
ID_CLIENT | ID_EVAL | DATE_EVAL
1423 |11160 | 2008-02-12 00:00:00.000
1423 |11161 | 2008-02-18 00:00:00.000
18 |11162 | 2008-02-15 00:00:00.000
666 |11163 | 2008-02-19 00:00:00.000
但我想是这样(不重复的客户端)
ID_CLIENT | ID_EVAL | DATE_EVAL
1423 |11161 | 2008-02-18 00:00:00.000
18 |11162 | 2008-02-15 00:00:00.000
666 |11163 | 2008-02-19 00:00:00.000
我使用MSSQL 2008
感谢了很多!
更新:我需要Id_Eval为最近的日期由Id_client
你只是想为每个客户提供最高的ID_EVAL吗?或者你想要最新的日期?这些定义是否一样? – 2011-04-20 18:32:38