|
Выбор строк запроса | ☑ | ||
---|---|---|---|---|
0
Adgjj
07.12.11
✎
13:23
|
ВЫБРАТЬ
//КОЛИЧЕСТВО(РАЗЛИЧНЫЕ уатПервоначальныеСведенияТС.ГосударственныйНомер) КАК КоличНомер, уатПервоначальныеСведенияТС.ГосударственныйНомер, уатНормыРасходаГСМСрезПоследних.ГСМ ИЗ РегистрСведений.уатПервоначальныеСведенияТС КАК уатПервоначальныеСведенияТС ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатНормыРасходаГСМ.СрезПоследних КАК уатНормыРасходаГСМСрезПоследних ПО уатПервоначальныеСведенияТС.Модель = уатНормыРасходаГСМСрезПоследних.МодельТС ГДЕ уатНормыРасходаГСМСрезПоследних.ГСМ <> &НоменПустаяСсылка СГРУППИРОВАТЬ ПО уатПервоначальныеСведенияТС.ГосударственныйНомер, уатНормыРасходаГСМСрезПоследних.ГСМ УПОРЯДОЧИТЬ ПО ГосударственныйНомер Рез-т запроса: http://s16.radikal.ru/i191/1112/28/cb5b6c0f9f21.jpg Т.е. каждое авто работает или на 1 или на 2 видах ГСМ. Скажите, пжл, как изменить запрос для вывода по каждому авто только первых строк, т.е. если у авто 1 вид гсм, брать эту строку; если по авто 2 строки, то брать верхнюю? |
|||
1
Adgjj
07.12.11
✎
13:25
|
может по новой колонке КоличНомер, в к-рую (как??) выводить "1" для первых строк и "2" для вторых?
|
|||
2
rs_trade
07.12.11
✎
13:26
|
(0) нет такого критерия верхняя строка. там может оказаться любое значение из 2-х возможных. тебя это устраивает?
|
|||
3
Ненавижу 1С
гуру
07.12.11
✎
13:26
|
ща меня будут бить, но так:
ВЫБРАТЬ уатПервоначальныеСведенияТС.ГосударственныйНомер, МИНИМУМ(уатНормыРасходаГСМСрезПоследних.ГСМ) КАК ГСМ ИЗ РегистрСведений.уатПервоначальныеСведенияТС КАК уатПервоначальныеСведенияТС ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатНормыРасходаГСМ.СрезПоследних КАК уатНормыРасходаГСМСрезПоследних ПО уатПервоначальныеСведенияТС.Модель = уатНормыРасходаГСМСрезПоследних.МодельТС ГДЕ уатНормыРасходаГСМСрезПоследних.ГСМ <> &НоменПустаяСсылка СГРУППИРОВАТЬ ПО уатПервоначальныеСведенияТС.ГосударственныйНомер |
|||
4
Adgjj
07.12.11
✎
13:27
|
(2) нет
|
|||
5
Kreont
07.12.11
✎
13:29
|
Через вложенный запрос, в нем задать сортировку и получить только одну запись
|
|||
6
rs_trade
07.12.11
✎
13:30
|
(4) а как? если два вида топлива, брать какое то конкретное. так?
|
|||
7
Adgjj
07.12.11
✎
13:31
|
(3) так получилось - с минимумом берет первую, с максимумом - вторую строку
|
|||
8
Adgjj
07.12.11
✎
13:32
|
(6) буду делать запрос ОБЪЕДИНИТЬ
для первой части буду использовать верхние втроки, для 2 - нижние не конкретное, а которое в 1 или 2 строке |
|||
9
Adgjj
07.12.11
✎
13:33
|
(8) потому что не известно, какие два вида топлива будут у каждого авто
|
|||
10
rs_trade
07.12.11
✎
13:46
|
(9) я подобное для видов цен делал. тоже через юнион. конечный выбор значения через кейсы. надо поискать запрос.
|
|||
11
Adgjj
07.12.11
✎
14:12
|
А КАК теперь выводить по 1 строке для каждого ГосударственныйНомер, наверно влож запросом только?
ВЫБРАТЬ уатПутевойЛистРасходГСМ.ТС КАК ТС, уатПервоначальныеСведенияТС.ГосударственныйНомер, уатПутевойЛистРасходГСМ.Ссылка, уатПутевойЛистРасходГСМ.Ссылка.Дата КАК РегистраторДата, уатПутевойЛистРасходГСМ.ОстатокПриВозвращении, МИНИМУМ(уатНормыРасходаГСМСрезПоследних.ГСМ) КАК ГСМ_ВЕРХНяяСТРОКА ИЗ Документ.уатПутевойЛист.РасходГСМ КАК уатПутевойЛистРасходГСМ ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатПервоначальныеСведенияТС КАК уатПервоначальныеСведенияТС ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатНормыРасходаГСМ.СрезПоследних КАК уатНормыРасходаГСМСрезПоследних ПО (уатНормыРасходаГСМСрезПоследних.МодельТС = уатПервоначальныеСведенияТС.Модель) ПО уатПутевойЛистРасходГСМ.ТС = уатПервоначальныеСведенияТС.ОсновноеСредство ГДЕ уатПутевойЛистРасходГСМ.Ссылка.ПометкаУдаления = ЛОЖЬ И уатПутевойЛистРасходГСМ.Ссылка.Проведен = ИСТИНА И уатПутевойЛистРасходГСМ.Ссылка.Дата < &ДатаС И уатНормыРасходаГСМСрезПоследних.ГСМ <> &НоменПустаяСсылка СГРУППИРОВАТЬ ПО уатПутевойЛистРасходГСМ.ТС, уатПервоначальныеСведенияТС.ГосударственныйНомер, уатПутевойЛистРасходГСМ.Ссылка, уатПутевойЛистРасходГСМ.Ссылка.Дата, уатПутевойЛистРасходГСМ.ОстатокПриВозвращении УПОРЯДОЧИТЬ ПО ТС, РегистраторДата УБЫВ |
|||
12
Adgjj
07.12.11
✎
15:48
|
Скажите, пжл, как можно переписать запрос для уменьшения скорости выполнения:
ВЫБРАТЬ уатПутевойЛистРасходГСМ.ТС , влож.ГосударственныйНомер, уатПутевойЛистРасходГСМ.Ссылка регистратор, уатПутевойЛистРасходГСМ.Ссылка.Дата РегистраторДата , уатПутевойЛистРасходГСМ.ОстатокПриВозвращении, уатПутевойЛистРасходГСМ.ГСМ, влож.ГСМ_ВЕРХНяяСТРОКА ИЗ Документ.уатПутевойЛист.РасходГСМ КАК уатПутевойЛистРасходГСМ ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ уатПервоначальныеСведенияТС.ОсновноеСредство, уатПервоначальныеСведенияТС.ГосударственныйНомер, МИНИМУМ(уатНормыРасходаГСМСрезПоследних.ГСМ) КАК ГСМ_ВЕРХНяяСТРОКА ИЗ РегистрСведений.уатПервоначальныеСведенияТС КАК уатПервоначальныеСведенияТС ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатНормыРасходаГСМ.СрезПоследних КАК уатНормыРасходаГСМСрезПоследних ПО (уатНормыРасходаГСМСрезПоследних.МодельТС = уатПервоначальныеСведенияТС.Модель) ГДЕ уатНормыРасходаГСМСрезПоследних.ГСМ <> &НоменПустаяСсылка СГРУППИРОВАТЬ ПО уатПервоначальныеСведенияТС.ОсновноеСредство, уатПервоначальныеСведенияТС.ГосударственныйНомер ) КАК влож ПО уатПутевойЛистРасходГСМ.ГСМ = влож.ГСМ_ВЕРХНяяСТРОКА //ПО уатПутевойЛистРасходГСМ.ТС = влож.ОсновноеСредство ГДЕ уатПутевойЛистРасходГСМ.Ссылка.ПометкаУдаления = ЛОЖЬ И уатПутевойЛистРасходГСМ.Ссылка.Проведен = ИСТИНА И уатПутевойЛистРасходГСМ.Ссылка.Дата < &ДатаС //И уатПутевойЛистРасходГСМ.ТС = &ТС СГРУППИРОВАТЬ ПО уатПутевойЛистРасходГСМ.ТС, влож.ГосударственныйНомер, уатПутевойЛистРасходГСМ.Ссылка , уатПутевойЛистРасходГСМ.Ссылка.Дата , уатПутевойЛистРасходГСМ.ОстатокПриВозвращении, уатПутевойЛистРасходГСМ.ГСМ, влож.ГСМ_ВЕРХНяяСТРОКА УПОРЯДОЧИТЬ ПО влож.ГосударственныйНомер, РегистраторДата УБЫВ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |