Как я могу получить различные значения из внутреннего запроса? Сценарий:Найти различные значения из внутреннего запроса
У меня есть таблица: MyData
с колоннами ID и STARTTIME. Идентификатор - это шестнадцатеричная строка , а время начала - отметка времени. Идентификатор и время запуска могут быть нулевыми.
Вот как выглядит таблица:
ID StartTime
01655a70 2014-10-24 06:22:03.0
01655a70 2014-10-24 06:22:03.0
b752 2014-10-15 03:19:03.0
b752 <null>
3922b 2014-10-15 03:19:03.0
d98cb <null>
Я хочу, чтобы получить различные значения идентификаторов, которые не имеют никакого значения NULL в этом время_запуске столбца.
Expected result should be:
01655a70
3922b
Я попытался:
select distinct(ID) from Mydata where ID in (select ID from MyData where id not like '' and starttime is not null)
select distinct(inner.ID) from (select ID from MyData where id not like '' and starttime is not null) as inner
, который, кажется, чтобы получить все записи ID, включая те, которые имеют нулевое значение.
Также смотрели на SO сообщений:
http://stackoverflow.com/questions/23278387/options-for-returning-distinct-values-across-an-inner-join
and
http://stackoverflow.com/questions/13149857/select-distinct-on-inner-join-query-filtering-by-multiple-values-on-a-single-col
Выбрать, отличный запрос кажется прямо вперед для меня, есть что-то, очевидно, здесь не так?
Дополнительная информация: Моя БД - это база данных MS Access, база данных .accdb.
первый вариант, похоже, хорошо работает. Что было по своей сути неправильным в моих запросах, которые я начал. – Ayusman
@Ayusman Я добавил некоторую информацию в свой ответ. Основная проблема в вашем запросе заключается в том, что вы просто фильтруете данные и оставляете только строки с нулевым временем запуска, но вам нужно отсканировать все начальные моменты для каждого идентификатора. – Multisync
оба варианта работают. Благодарю. – Ayusman