Имя: Пароль:
1C
1С v8
Запрос
,
0 Rub32
 
23.07.13
10:37
Нужно выбрать наиболее повторяющиеся цены товаров, если количество повторений одинаковое, тогда выбрать максимальное

ВЫБРАТЬ
   ЦеныКонтрагентов.Бренд,
   ЦеныКонтрагентов.Цена,
   КОЛИЧЕСТВО(ЦеныКонтрагентов.Цена) КАК КоличествоЦен
   ИЗ
   РегистрСведений.ЦеныКонтрагентов КАК ЦеныКонтрагентов
СГРУППИРОВАТЬ ПО
   ЦеныКонтрагентов.Бренд,
   ЦеныКонтрагентов.Цена,
   ИМЕЮЩИЕ
Количество(ЦеныКонтрагентов.Цена)>1 \\ не работает (только если = 1)

   
УПОРЯДОЧИТЬ ПО
       КоличествоЦен,
       ЦеныКонтрагентов.Бренд
       

ИТОГИ
       КОЛИЧЕСТВО(КоличествоЦен)
       
ПО
ЦеныКонтрагентов.Бренд,
ЦеныКонтрагентов.Цена
1 Wobland
 
23.07.13
10:37
понятно
2 foxruby
 
23.07.13
10:39
зачем
5 Xapac
 
23.07.13
10:42
хорошо.
6 fisher
 
23.07.13
10:45
Одноуровневым запросом не получится. Вложенным запросом получаешь количество повторений по каждой цене, а внешним уже максимум и все остальное.
7 Rub32
 
23.07.13
10:47
Запрос нужно допилить. Почему не работает Количество(ЦеныКонтрагентов.Цена)>1 и как выбрать только максимальное количество повторений?
8 cw014
 
23.07.13
10:48
Наиболее повторяющиеся - это как?
9 cw014
 
23.07.13
10:49
ВЫБРАТЬ
   ЦеныКонтрагентов.Бренд,
   КОЛИЧЕСТВО(ЦеныКонтрагентов.Цена) КАК КоличествоЦен
   ИЗ
   РегистрСведений.ЦеныКонтрагентов КАК ЦеныКонтрагентов
СГРУППИРОВАТЬ ПО
   ЦеныКонтрагентов.Бренд,
   ИМЕЮЩИЕ

Количество(ЦеныКонтрагентов.Цена)>1 \\ не работает (только если = 1)

 

УПОРЯДОЧИТЬ ПО
       КоличествоЦен,
       ЦеныКонтрагентов.Бренд
       

ИТОГИ
       КОЛИЧЕСТВО(КоличествоЦен)
       
ПО
ЦеныКонтрагентов.Бренд
10 Maxus43
 
23.07.13
10:49
(7) всё должно работать. итоги убери и т.д., потомт навесишь, когда убедишся что нормально работает. Лишнее в топку, запрос в консоль
11 cw014
 
23.07.13
10:49
Цену убери, ты ее плюсуешь и так же группируешь
12 viktor_vv
 
23.07.13
10:50
КОЛИЧЕСТВО(Различные ЦеныКонтрагентов.Цена) КАК КоличествоЦен

не уверен работает ли это в 1С
13 cw014
 
23.07.13
10:50
И КОЛИЧЕСТВО(РАЗЛИЧНЫЕ...) тебе наверное нужно
14 Rub32
 
23.07.13
10:50
cw014. Например: 110, 110, 100, 120,120,120. Выбрать нужно только 120
15 Ненавижу 1С
 
гуру
23.07.13
10:54
ВЫБРАТЬ ПЕРВЫЕ 1
   ЦеныКонтрагентов.Цена,
   КОЛИЧЕСТВО(ЦеныКонтрагентов.Цена) КАК КоличествоЦен
ПОМЕСТИТЬ Цены
ИЗ
   РегистрСведений.ЦеныКонтрагентов КАК ЦеныКонтрагентов

СГРУППИРОВАТЬ ПО
   ЦеныКонтрагентов.Цена

УПОРЯДОЧИТЬ ПО
   КоличествоЦен УБЫВ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
   ЦеныКонтрагентов.Номенклатура КАК Номенклатура
ИЗ
   РегистрСведений.ЦеныКонтрагентов КАК ЦеныКонтрагентов
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Цены КАК Цены
       ПО ЦеныКонтрагентов.Цена = Цены.Цена

УПОРЯДОЧИТЬ ПО
   Номенклатура
АВТОУПОРЯДОЧИВАНИЕ
16 viktor_vv
 
23.07.13
11:05
(15) Вряд ли ему один товар нужен. Скорее всего по каждому товару повторяющуюся цену надо.
Вернее по каждому бренду.
17 viktor_vv
 
23.07.13
11:06
А в (0) условие на имеющие должно нормально работать.
18 Ненавижу 1С
 
гуру
23.07.13
11:07
(16) тогда я не понимаю условия
19 Rub32
 
23.07.13
11:25
(16) Все верно)))
         Цена  Цена Цена Цена  Повторяется
Бренд 1   100   100  110  120       100
Бренд 1   110   120  110  120       120
20 Rub32
 
23.07.13
11:26
(19) Строка 2 (Ошибка, Бренд 2)
21 Ненавижу 1С
 
гуру
23.07.13
11:33
ВЫБРАТЬ
   ЦеныКонтрагентов.Бренд,
   ЦеныКонтрагентов.Цена,
   КОЛИЧЕСТВО(ЦеныКонтрагентов.Цена) КАК КоличествоЦен
ПОМЕСТИТЬ Цены
ИЗ
   РегистрСведений.ЦеныКонтрагентов КАК ЦеныКонтрагентов

СГРУППИРОВАТЬ ПО
   ЦеныКонтрагентов.Цена,
   ЦеныКонтрагентов.Бренд
;
ВЫБРАТЬ
   Цены.Бренд,
   МАКСИМУМ(Цены.КоличествоЦен) КАК КоличествоЦен
ПОМЕСТИТЬ ЧастыеЦены
ИЗ
   Цены КАК Цены

СГРУППИРОВАТЬ ПО
   Цены.Бренд
;
ВЫБРАТЬ
   Цены.Бренд,
   МАКСИМУМ(Цены.Цена)
ИЗ
   Цены КАК Цены
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЧастыеЦены КАК ЧастыеЦены
ПО Цены.КоличествоЦен=ЧастыеЦены.КоличествоЦен
СГРУППИРОВАТЬ ПО
   Цены.Бренд
22 Rub32
 
23.07.13
11:43
(21) Ненавижу 1С, большое СПАСИБО!!! Работает)))
Посоветуйте какую нибудь литературу по запросам, с простыми примерами
23 Ненавижу 1С
 
гуру
23.07.13
11:47
(22) пройди тесты на http://sql-ex.ru/
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.