2013-03-19 4 views
1

У меня есть несколько таблиц, как это:запрашивая несколько записей по дате

Color

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 

ответ

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 
Смежные вопросы