Как получить максимальное значение на основе условий соединения?MySql

Форум по Mysql
Ответить
Гость
 Как получить максимальное значение на основе условий соединения?

Сообщение Гость »

У меня есть следующий пример данных:
table employeeeweek :



сотрудник < /th>
неделя < /th>
< /tr>
< /thead>


1 < /td>
15 < /td>
< /tr>

1 < /td>
20 < /td>
< /tr>

2 < /td>
22 < /td>
< /tr>

3 < /td>
7 < /td>
< /tr>

4 < /td>
10



Скорости таблиц :
неделя < /th>
rate < /th>
< /tr>
< /thead>


1 < /td>
14 < /td>
140 < /td>
< / tr>

1 < /td>
15 < /td>
200 < /td>
< /tr>

1 < /td>
17 < /td>
76 < /td>
< /tr>

2 < /td>
4 < /td>
101 < /td>
< /tr>

2 < /td>
22 < /td>
220 < /td>
< /tr>

3 < /td>
12 < /td>
65 < /td> < br/>


Теперь я хочу, чтобы вывод был работником , неделя и последняя доступная (если таковая)). p>
Мой вывод должен выглядеть ниже: < /p>



сотрудник < /th>
неделя < /th>
rate < /th>
< /tr>
< /thead>


1 < /td>
15 < /td>
200 < /td>
< /tr>

1 < /td>
20 < /td >
76 < /td>
< /tr>

2 < /td>
22 < / td>
220 < /td>
< /tr>

3 < /td>
7 < /td>
< /td>
< /tr>

4 < /td>
10 < /td>
< /td>
< /tr>
< /tbody>
< /table> < /div>
Как Чтобы достичь этого?

Код: Выделить всё

SELECT EW.Employee,
EW.Week,
R.Rate
FROM EmployeeWeek EW
LEFT JOIN Rates R ON EW.Employee = R.Employee AND EW.Week >= R.Week
< /code>
Но это дает мне несколько записей на одного сотрудника. Я также попытался включить MAX (Week) 
в условие соединения, но тогда я также не могу совпадать с работником или получаю тариф из недели выше, чем целевая неделя .
Как это решить? Другие столбцы, я включил только соответствующие, чтобы прояснить пример)

Подробнее здесь: https://stackoverflow.com/questions/794 ... conditions
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»