|
как получить минимальную дату из запроса | ☑ | ||
---|---|---|---|---|
0
Azgerd
03.04.13
✎
14:39
|
Есть простенький запрос:
Запрос.Текст = "ВЫБРАТЬ |ИнформацияОПрограммномОбеспеченииЮзеры.Ссылка, |ИнформацияОПрограммномОбеспеченииЮзеры.НомерСтроки, |ИнформацияОПрограммномОбеспеченииЮзеры.ДатаРегистрации, |ИнформацияОПрограммномОбеспеченииЮзеры.КолЮзер, |ИнформацияОПрограммномОбеспеченииЮзеры.Примечание |ИЗ |Справочник.ИнформацияОПрограммномОбеспечении.Юзеры КАК |ИнформацияОПрограммномОбеспеченииЮзеры |ГДЕ |ИнформацияОПрограммномОбеспеченииЮзеры.Ссылка = |&Ссылка"; Как из этого запроса получить строку с минимальной "ДатаРегистрации" и значения полей этой строки? |
|||
1
olegves
03.04.13
✎
14:40
|
Выбрать первые 1
... Порядок ДатаРегистрации убыв |
|||
2
olegves
03.04.13
✎
14:41
|
+ (1) убыв не надо, поскольку минимальная нужна
|
|||
3
Wobland
03.04.13
✎
14:43
|
РС на справочнике?
|
|||
4
BiBijke
03.04.13
✎
14:46
|
(0) Помещаешь это во временную таблицу, далее делаешь 2-ую временную таблицу там только поле ДатаРегистрации с группировкой Минимум, в 3-ей временной таблице соединяешь внутренним соединением 1-ую и 2-ую по полю ДатаРегистрации
ето как вариант решения, можно еще что-нить придумать |
|||
5
salvator
03.04.13
✎
14:48
|
(4) Мы не ищем легких путей?
|
|||
6
BiBijke
03.04.13
✎
14:48
|
(5) Ты знаешь путь проще сделать это в запросе ?)
|
|||
7
Maxus43
03.04.13
✎
14:51
|
(6) вариант (1), а (2) не читать, там правильно в (1)
|
|||
8
Azgerd
03.04.13
✎
14:51
|
Извиняюсь, в 1с-программировании я новичёк.
РезультатЗапроса = Запрос.Выполнить(); ТаблицаРезультатов = РезультатЗапроса.Выгрузить(); "ТаблицаРезультатов" - это и есть временная таблица из запроса? Из этой временной таблицы можно сделать ещё один запрос? |
|||
9
Maxus43
03.04.13
✎
14:52
|
(7) т.е. в (2) даже правильно, УПОРЯДОЧИТЬ по возрастанию надо, так что убыв не пишем
|
|||
10
Wobland
03.04.13
✎
14:53
|
(8) не обращай внимания на БиБижка
|
|||
11
Maxus43
03.04.13
✎
14:53
|
(8) зайди в конструктор запроса на закладку упорядочить, там дату выбери. и на закладке Дополнительно тыкни ПЕРВЫЕ 1
|
|||
12
salvator
03.04.13
✎
14:53
|
(8) Не нужна тебе тут ВТ. Делай как в (1) сказали, только "убыв" не надо
|
|||
13
BiBijke
03.04.13
✎
14:53
|
(7) (1) катит только для условия равенства, если он захочет условие В поставить (1) уже прокатит. (4) более универсальный, но мб чуть медленнее, чем (1).
|
|||
14
rs_trade
03.04.13
✎
14:53
|
(6) интересно как выглядят твои сложные запросы.
|
|||
15
Wobland
03.04.13
✎
14:54
|
(13) чо?
|
|||
16
salvator
03.04.13
✎
14:55
|
(13) Если будет "В", то достаточно этот запрос запихнуть во вложенный и из него так же выбрать первые с упорядочиванием.
|
|||
17
rs_trade
03.04.13
✎
14:55
|
(13) а можно поподробнее? очень интересно.
|
|||
18
BiBijke
03.04.13
✎
14:56
|
(15), (17) Ну например нужно получить список ссылок с минимальными датами регистрации (более общая задача)
ГДЕ ИнформацияОПрограммномОбеспеченииЮзеры.Ссылка В (&СписокСсылок) |
|||
19
Maxus43
03.04.13
✎
14:57
|
(18) а если чисто гипотетически ему понадобится потом посчитать себестоимость и сдать отчетность - тоже всё запихнёшь в запрос, не имеющий к этому отношения?
|
|||
20
salvator
03.04.13
✎
14:57
|
(18) "список ссылок с минимальными датами регистрации" - ЧО?
|
|||
21
BiBijke
03.04.13
✎
14:58
|
(16) Да ладно? Херас два у тебя так получится )
|
|||
22
Maxus43
03.04.13
✎
14:59
|
(21) 2-мя таблицами можно обойтись, это классическая задача "Срез последних запросом, без использования вирт таблицы"
|
|||
23
Azgerd
03.04.13
✎
15:03
|
РезультатЗапроса = Запрос.Выполнить();
ТаблицаРезультатов = РезультатЗапроса.Выгрузить(); Могу ли я использовать "ТаблицыРезультатов" для ещё одного запроса ? Вроде того: Запрос.Текст = "ВЫБРАТЬ |ТаблицаРезультатов.ИмяПоля и так далее? |
|||
24
palpetrovich
03.04.13
✎
15:03
|
(18) если нужен список, то ВТ тоже как-то без надобности, нечто типа нижеизложенного должно помочь
ВЫБРАТЬ ИнформацияОПрограммномОбеспеченииЮзеры.Ссылка, ИнформацияОПрограммномОбеспеченииЮзеры.НомерСтроки, ИнформацияОПрограммномОбеспеченииЮзеры.ДатаРегистрации, ИнформацияОПрограммномОбеспеченииЮзеры.КолЮзер, ИнформацияОПрограммномОбеспеченииЮзеры.Примечание ИЗ Справочник.ИнформацияОПрограммномОбеспечении.Юзеры КАК ИнформацияОПрограммномОбеспеченииЮзеры ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СамыеРанние.Ссылка МИНИМУМ(СамыеРанние.ДатаРегистрации.Дата) КАК МинимальнаяДата ИЗ Справочник.ИнформацияОПрограммномОбеспечении.Юзеры КАК СамыеРанние СГРУППИРОВАТЬ ПО СамыеРанние.Ссылка) КАК СамыеРанние ПО ИнформацияОПрограммномОбеспеченииЮзеры.Ссылка = СамыеРанние.Ссылка ГДЕ ИнформацияОПрограммномОбеспеченииЮзеры.Ссылка В ИЕРАХИИ (&КучаСсылок) ...если не напутал нигде :) |
|||
25
Reset
03.04.13
✎
15:06
|
(23) Используя менеджер временных таблиц, например
|
|||
26
Azgerd
03.04.13
✎
15:13
|
Спасибо!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |