У меня есть таблицы баз данных P, которая выглядит примерно так:Confused о JOIN и с подзапросом
date wellID rate
01/01/1988 well01 300
01/02/1988 well01 301
01/03/1988 well01 310
........
01/04/1988 well02 500
01/05/1988 well02 490
01/06/1988 well02 495
........
01/04/1988 well03 700
01/05/1988 well03 750
01/06/1988 well03 700
........
01/07/1989 well04 400
01/08/1989 well04 350
01/09/1989 well04 340
........
Я хочу, чтобы извлечь начальную скорость для каждой скважины т.е. даты первой записи для каждой лунки вместе с связанная ставка. Я ожидал что-то вроде этого:
date wellID oil
01/01/1988 well01 300
01/04/1988 well02 500
01/04/1988 well03 700
01/07/1989 well04 400
Я пытаюсь извлечь эти данные из Access с помощью следующего SQL-запрос
SELECT p.date, p.wellID, p.oil
FROM p
LEFT JOIN
(
SELECT wellID, min(date) AS MinDate
FROM p
) AS a
ON p.wellID = a.wellID
WHERE p.date = a.MinDate;
но Access дает это сообщение «Вы пытаетесь выполнить запрос, который не делает включают указанное выражение «WellId» - часть агрегатной функции ». Я боюсь, что это выходит за рамки моих ограниченных знаний SQL, поэтому все помогают оценить
Спасибо!
Спасибо Хуану и Барнард за ваш ответ - что сделал трюк – PetGriffin