У меня есть фотографии в базе данных, которые мне теперь нужно извлечь. Столбец изображения имеет тип varbinary(max)
.T-SQL извлечение изображения из Max (Дата)
Я попробовал несколько примеров, используя JOIN или подзапрос, безрезультатно. Разработанный запрос будет работать, если бы не изображение. Использование DISTINCT
и MAX(date)
по-прежнему не может устранить старое изображение. Многие идентификаторы имеют несколько изображений. Используя Max(Date)
, вы получите самую последнюю дату, но добавление в изображение исключает всю фильтрацию.
Запрос выглядит следующим образом:
SELECT DISTINCT ID, Image, DateModified, GETDate()
FROM images
WHERE
TYPE = 'B'
ID Image DateMod Type
1 0x789 01-02-2014 B
1 0x791 11-12-2015 B <-- this is a tgt record
2 0x675 12-01-2015 A
5 0x324 06-26-2015 B <-- this is a tgt record
Если я использую MAX(DateModified)
, что заставляет GROUP BY
и до сих пор не устраняет старые изображения. Мне нужен новый тип «B» для каждого ID. Я работаю на SQL Server 2012.
Что мне нужно для выходных image, ID, DateModified, TodaysDate (GetDate)
что ваши критерии для записи TGT. это определенный период времени или верхние русские записи? – H20rider
@ H20rider «Новейшее изображение типа« B »для каждого идентификатора» - т. Е.«ТОП-1» в порядке даты для каждой группы (по id) и где Тип = B. –
@ Давай посмотрим на мой ответ. Вы не используете 'GROUP BY', хотя предложение' DISTINCT' может эмулировать его при правильном использовании. –