Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.09.2018, 11:19
|
|||
---|---|---|---|
|
|||
TOP 1 + Union |
|||
#18+
Здравствуйте, уважаемые форумчане дано: таблица movng с записями о движениях автомобилей надо: запрос выводящий две записи - начало движения за день и конец движения за день хотел решить так: Код: plsql 1. 2. 3.
но возвращает только одну запись, а не две ЧЯДНТ ____ vk.com/taenfox ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2018, 15:54
|
|||
---|---|---|---|
|
|||
TOP 1 + Union |
|||
#18+
Добрый день, Как вариант, решение на скорую руку, путём создания двух запросов. Запрос1 Код: vbnet 1. 2. 3.
Запрос2 Код: vbnet 1. 2. 3.
Результат вреде бы тот что нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2018, 16:42
|
|||
---|---|---|---|
|
|||
TOP 1 + Union |
|||
#18+
ШаманДобрый день, Как вариант, решение на скорую руку, путём создания двух запросов. Запрос1 Код: vbnet 1. 2. 3.
Запрос2 Код: vbnet 1. 2. 3.
Результат вреде бы тот что нужен. Здравствуйте Спасибо за предложенный вариант, мне оказалось достаточно (и даже это лучше чем я сначала просил) Запрос1. Я его подкорректировал для себя: Код: plsql 1. 2. 3.
Но ещё если бы вот узнать почему мой первый запрос не сработал... PS: да, у меня варварский подход к времени ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.09.2018, 19:40
|
|||
---|---|---|---|
TOP 1 + Union |
|||
#18+
попробуйте в первом варианте поставить UNION ALL ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2018, 13:03
|
|||
---|---|---|---|
|
|||
TOP 1 + Union |
|||
#18+
Jossпопробуйте в первом варианте поставить UNION ALL В таком случае: Код: plsql 1. 2. 3.
игнорируется оператор Desc почему то, то есть запрос возвращает две записи соответствующие Код: plsql 1.
Я что-то ещё больше запутался. В UNION ведь можно и идентичные запросы склеить? Почему разносортированные болеют? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2018, 13:17
|
|||
---|---|---|---|
TOP 1 + Union |
|||
#18+
MokeevPигнорируется оператор Desc почему тоПотому что запросы надо обрамить скобками. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2018, 13:29
|
|||
---|---|---|---|
|
|||
TOP 1 + Union |
|||
#18+
Akina, действительно, исправил по Вашей рекомендации, всё ок! Можно я в следующий раз сразу Вам писать буду? :D ... |
|||
:
Нравится:
Не нравится:
|
|||
|
17.09.2018, 15:38
|
|||
---|---|---|---|
|
|||
TOP 1 + Union |
|||
#18+
MokeevPигнорируется оператор Desc почему то, то есть запрос возвращает две записи соответствующие ORDER BY DateMove Вы уверены, что не ORDER BY DateMove DESC? Дело в том, что в UNION имена полей берутся из 1-й секции, а сортировка из последней (и то, при соблюдении определенных условий). Кстати, Format([DateMove],"dd/mm/yyyy")=#8/1/2017# - неправильный подход. Format здесь совершенно лишний. Сначала вы получаете строку в виде "01.08.2017", а затем обратное преобразование в дату (для сравнения с критерием). При этом игнорируются индексы, которые вероятно есть у поля. Правильно так: [DateMove] =#8/1/2017# ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.09.2018, 17:08
|
|||
---|---|---|---|
|
|||
TOP 1 + Union |
|||
#18+
Кривцов АнатолийMokeevPигнорируется оператор Desc почему то, то есть запрос возвращает две записи соответствующие ORDER BY DateMove Вы уверены, что не ORDER BY DateMove DESC? Дело в том, что в UNION имена полей берутся из 1-й секции, а сортировка из последней (и то, при соблюдении определенных условий). Кстати, Format([DateMove],"dd/mm/yyyy")=#8/1/2017# - неправильный подход. Format здесь совершенно лишний. Сначала вы получаете строку в виде "01.08.2017", а затем обратное преобразование в дату (для сравнения с критерием). При этом игнорируются индексы, которые вероятно есть у поля. Правильно так: [DateMove] =#8/1/2017# Я не знаком с технической частью вопроса, но считал что юнион собирает воедино две таблицы, сформированные запросами со своими тараканами (фильтрами, сортировкой). На практике мне объяснили что я дурак и если я хочу так то нужно прям вот как хочу то нада явно обозначить границы этих самых запросов. То есть конструкция (запрос с сортировкой топ 1) Юнион (запрос с сортировкой топ 1) вывела именно то, что я хотел, а именно - таблица из двух строк с первой и последней записью в рамках критерия. А вот про формат прошу пояснить ещё раз, для самых зелёных и меня если я в запросе делаю поле с выражением format... очень похожим на дату и не указываю никаких дополнительных инструкций то акс делает преобразование в дату? Зачем я вообще начал эту штуку использовать - у меня там ещё и время хранится и я отбирал все записи на дату. Есть более адекватные варианты как это сделать? Кстати, от варианта Шамана отказался, потому что не смог совладать с датами, а сделать хотелось по-скорее И ещё, куда тут дилетанты складывают свои детища для оценки профессионалами и вольношатающимися юзерами? Новая тема или расстреляют?) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
20.09.2018, 20:37
|
|||
---|---|---|---|
|
|||
TOP 1 + Union |
|||
#18+
MokeevPНовая тема или расстреляют?)почему "или" ? "И"! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=45&mobile=1&tid=1611171]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
157ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 328ms |
total: | 572ms |
0 / 0 |