2013-12-03 2 views
0

таблица: оценкиполучает одну оценку от нескольких команд

id | team_id | project_id | value | type 

То, что я хочу достичь только последнее значение одного типа оценки.

Типы 1, 2 или 3

Допустим, мы имеем project_id 1 с оценкой типа 1, team_id 8 с значением 20 и другой с PROJECT_ID 1team_id 8тип 2 и значение

Единственное, что я хочу увидеть, это значение 80 проекта_и_ 1 для команды 8.

Любые идеи?

+0

Как вы определили, что вторая запись в вашем примере является «последней»? Это потому, что оно имеет максимальное значение для 'type'? – eggyal

+0

Действительно, наивысший тип числа является самым важным, поэтому, если доступен тип оценки 3, мы должны показать эту оценку else type 2 или 1 – DavidCandreva

+0

'SELECT value FROM оценки WHERE project_id = 1 AND team_id = 8 ORDER BY type DESC LIMIT 1 '? – eggyal

ответ

0
SELECT e.value, e.team_id, e.project_id 
    FROM estimates e 
INNER JOIN (SELECT MAX(type_id) AS type_id 
        , team_id 
        , project_id 
       FROM estimates 
      GROUP BY team_id, project_id 
      ) mx ON ( mx.team_id = e.team_id 
        AND mx.project_id = e.project_id 
        AND mx.type_id = e.type_id 
        ) 
+0

Отлично! это оно :-)! – DavidCandreva

Смежные вопросы