按日期查询多个记录

时间:2013-03-19 00:24:29

标签: sql sql-server sql-server-2008

我有几张这样的桌子:

颜色

id      Color_Name
---    -------
 1      RED
 2      GREEN

Color_Shades

id      ColorId    ShadeId    date_created
---     -------    -------   --------------
 1       1          55        03/15/2013
 2       1          43        02/01/2012
 3       2          13        05/15/2011
 4       2          15        06/11/2009

我试图获取所有不同颜色的列表及其最新日期。

我试过

SELECT a.Color_Name, b.date_created FROM Color a, Color_Shades b
WHERE a.id = b.ColorId

但这给我的结果好坏参半。

我想要的结果是:

 Color_Name   date_created
----------    ---------------
 RED              03/15/2013
 GREEN            05/15/2011

1 个答案:

答案 0 :(得分:3)

你接近你需要的东西。您只需使用MAX汇总这些列以获取最新日期。

SELECT  a.Color_name, MAX(b.date_created) date_created
FROM    Color a
        INNER JOIN Color_shades b
            ON a.id = b.colorID
GROUP   BY a.Color_Name