Допустим, у меня есть эта таблица:SQL: Выравнивание по левому краю, но выбрать только одну строку с наименьшим создал дату
Таблица A:
id name
--- ---
1 John
Таблица B:
id content Aid Date
--- --- --- ----------
100 abc 1 2017-02-03 11:16:00
101 xyz 1 2017-02-03 11:50:00
Я хочу соедините A и B так, чтобы итоговая таблица имела только одну строку из B с Date = minimum.
Мой желаемый результат:
id name content
--- --- ------
1 John abc
Моя неудавшаяся попытка объединения дает мне (1, Джон, хуг) ряд, а также:
SELECT A.[id], A.[name], B.[content]
FROM A
LEFT JOIN B
ON A.id = B.Aid
Позже я пытался делать WHERE внутри присоединиться, но Я не могу это построить:
SELECT A.[id], A.[name]
FROM A
LEFT JOIN B
ON A.id = (SELECT Aid FROM B WHERE Date = (SELECT MIN(Date) FROM B
WHERE <no idea where I'm going?>)
Может кто-нибудь указать мне в правильном направлении?
Если в A и B присутствует несколько значений, ваш запрос дает мне только 1 строку в результирующем наборе. Эта строка поворачивается на первую запись в B с наименее созданной датой. Не следует ли подзапрос выбирать Min (Date) из B WHERE xyz? – 90abyss
обновил ответ –
теперь отлично работает! благодаря!! :) – 90abyss