Как присоединиться к последней записи из одной таблицы, дата которой старше другой таблицы? - PullRequest
0 голосов
/ 07 мая 2020

Это мой первый пост здесь и первая проблема, которую я не смог найти самостоятельно. У меня есть MainTable, содержащий поля: Date, MinutesActiveWork (и другие не относящиеся к делу поля). У меня есть вторая таблица, содержащая поля: ID, id_Workarea, GoalOfActiveMinutes, GoalActiveFrom.

Я хочу сделать запрос, который возвращает все записи из MainTable и активную цель на дату. Пример:

Maintable (Date = dd/mm/yyyy)
ID      Date      ActvWrkMin    WrkAreaID
1    01-01-2019      45             1
2    02-01-2019      50             1
3    03-01-2019      48             1
GoalTable: 
ID     id_Workarea     Goal     GlActvFrm
1          1            45      01-01-2019
2          2            90      01-01-2019
3          1            50      03-01-2019
What i want from my query:
IDMain     Date     ActvWrkMin     Goal     WrkAreaID
1       01-01-2019      45          45          1
2       02-01-2019      50          45          1
3       03-01-2019      48          50          1

Запрос, который у меня есть сейчас, действительно близок к тому, что я хочу. Но проблема в том, что запрос выводит все цели, которые меньше даты из MainTable (понятно почему, но я не знаю, какие критерии ввести, чтобы исправить это). Примерно так:

IDMain     Date     ActvWrkMin     Goal     WrkAreaID
1       01-01-2019      45          45          1
2       02-01-2019      50          45          1
3       03-01-2019      48          45          1 <-- Dont want this one
3       03-01-2019      48          50          1

Мой запрос

SELECT tblMain.Date, tblMain.ActiveWorkMins, tblGoal.Goal
FROM VtblSumpMain AS tblMain LEFT JOIN (
SELECT VtblGoalsForWorkareas.idWorkArea, VtblGoalsForWorkareas.Goal, VtblGoalsForWorkareas.GoalActiveFrom (THIS IS THE DATE FIELD)
FROM VtblGoalsForWorkareas
WHERE VtblGoalsForWorkareas.idWorkArea= 1) AS tblGoal ON tblMain.Date > tblGoal.GoalActiveFrom 
ORDER BY tblMain.Date

(я знаю, что могу сделать это довольно просто с помощью Dlookup, но этого недостаточно быстро)

Спасибо за любой совет!

1 Ответ

1 голос
/ 07 мая 2020
• 1000 1006 *Check the below image for the result which is generated from this query.

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...