![]() |
|
Помогите запросом сделать такую штуку | ☑ | ||
---|---|---|---|---|
0
shlyahtich
14.03.12
✎
15:43
|
Вобщем вся наша бухия это как панель. Суть в том, что например
выставляют цены на себя девушки легкого поведения с такой то даты я стою столько то А бухия просит за период выдать сведения... Вот что подали красавицы фамилия дата цена Иванова 01.12.11 5 Иванова 02.12.11 6 Иванова 13.12.11 7 Иванова 10.01.12 8 Иванова 15.01.12 9 Сидорова 12.11.11 4 Сидорова 14.12.11 5 Сидорова 19.12.11 6 Сидорова 20.01.12 7 Сидорова 30.01.12 8 А вот что надо получить. За период "январь" цена на такая значит Иванова 01.01.12 7 Иванова 10.01.12 8 Иванова 15.01.12 9 Сидорова 01.01.12 6 Сидорова 20.01.12 7 Сидорова 30.01.12 8 Если я делаю с отбором по одной сотруднице то все понятно как ВЫБРАТЬ Фамилия, Цена, Дата ИЗ бабц ГДЕ фамилия = &фамилия Дата <= &ДатаРасчета И ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата >= &ДатаНачалаМесяца ОБЪЕДИНИТЬ ВЫБРАТЬ ПЕРВЫЕ 1 ВЫБРАТЬ Фамилия, Цена, Дата ИЗ бабц ГДЕ фамилия = &фамилия И ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата <= &ДатаНачалаМесяца а как сделать запросом по всем чтоб выкинуть лишнее... Потом можно с 1 января посчитать сколько было трудодней например по такой тт цене ))) Вобщем шутка - но суть такая Есть ли идеи? |
|||
1
Ненавижу 1С
гуру
14.03.12
✎
15:46
|
если это РС, то поможет срез первых, например
|
|||
2
Stim
14.03.12
✎
15:47
|
а можно всех посмотреть?
|
|||
3
MaxisUssr
14.03.12
✎
15:49
|
"а как сделать запросом по всем чтоб выкинуть лишнее..."
(0) так что сделать-то надо? И что такое лишнее? |
|||
4
Dmitrii
гуру
14.03.12
✎
15:55
|
группировать по Фамилия, Максимум(дата)
получишь список тёток с датами цен на дату <= &ДатаНачалаМесяца эту таблицу соединишь внутренним соединением с такой же (без группировки) по Фамилия и по Дата - получишь таблицу тёток с датами и ценами на дату <= &ДатаНачалаМесяца |
|||
5
Dmitrii
гуру
14.03.12
✎
16:06
|
Что-то типа:
ВЫБРАТЬ ТаблицаБаб.Фамилия, МАКСИМУМ(ТаблицаБаб.Дата) КАК Дата ПОМЕСТИТЬ ПоследниеДатыЦенНаНачалоМесяца ИЗ ТаблицаБаб КАК ТаблицаБаб ГДЕ Дата <= &ДатаНачалаМесяца СГРУППИРОВАТЬ ПО Фамилия ; ВЫБРАТЬ ТаблицаБаб.Дата, ТаблицаБаб.Фамилия, ТаблицаБаб.Цена ИЗ ТаблицаБаб КАК ТаблицаБаб ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоследниеДатыЦенНаНачалоМесяца КАК ПоследниеДатыЦенНаНачалоМесяца ПО ТаблицаБаб.Фамилия = ПоследниеДатыЦенНаНачалоМесяца.Фамилия И ТаблицаБаб.Дата = ПоследниеДатыЦенНаНачалоМесяца.Дата ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ТаблицаБаб.Дата, ТаблицаБаб.Фамилия, ТаблицаБаб.Цена ИЗ ТаблицаБаб КАК ТаблицаБаб ГДЕ ТаблицаБаб.Дата >= &ДатаНачалаМесяца |
|||
6
Dmitrii
гуру
14.03.12
✎
16:08
|
+ к (5) Ну можно еще результат последнего запроса выбрать еще раз и отсортировать по фамилии и по дате. Или сделать тоже самое завернув последний запрос во вложенный.
|
|||
7
shlyahtich
14.03.12
✎
16:15
|
(3)
лишними являются строки в первой таблице, где Дата менее начала месяца НО! Из предыдущего месяца последняя цена должна перекочевать в таблицу с датой = началу месяца |
|||
8
shlyahtich
14.03.12
✎
16:20
|
(5) наверно - да возможно тогда удастся отобрать
(3) а лишнее - это значит выбрать все кроме того что в запросе таком то то есть select * FROM where Id NOT IN (select *) в скуле это просто, но и в 1С можно. То есть я отберу все что было в прошлом месяце, кроме макс(дата) и выкину это из своего запроса А еще остается заменить дату менее начала месяца на его начало для чего наверно подойдет "Выбор" |
|||
9
Dmitrii
гуру
14.03.12
✎
16:24
|
(8) >> для чего наверно подойдет "Выбор"
Ну нафиг. Проще в примере из (5) во втором запросе пакета в первом запросе объединения вместо поля ТаблицаБаб.Дата указать - &ДатаНачалаМесяца. |
|||
10
shlyahtich
14.03.12
✎
16:26
|
(9)
согласен |
|||
11
shlyahtich
14.03.12
✎
17:04
|
В качестве итогга.
Суть в том что к справочнику ДоговораКонтрагентов добавлена табчасть ТаблицаПроцентовПоДоговору с полями Дата и ПроцентГодовой В ситуации когда идет расчет процентов по договору займа/кредиту надо сделать запрос такой, чтоб заполнение его соотвтествовало траншам/ставкам и один из моментов в том, что ставки могут быть фиксированные, переменные в зависимости от ставки ЦБ или устанавливаться вручную - для чего эта таблица и задана. Запрос для заданного периода работает верно. Надо еще только отсечь в нем те проценты, дата которых > окончания месяца - периода Но это еще не все ))) На самом деле этот запрос еще надо подвязать к самому справочнику - но к сути задачи не относится и не интересно наверно. (5) спасибо ВЫБРАТЬ ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Ссылка.Владелец, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Ссылка КАК Договор, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.НомерСтроки, МАКСИМУМ(ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата) КАК ДатаПроцента, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата КАК ДатаФакт, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.ПроцентГодовой КАК ПроцентГодовой ПОМЕСТИТЬ ПоследниеДатыЦенНаНачалоМесяца ИЗ Справочник.ДоговорыКонтрагентов.ТаблицаПроцентовПоДоговору КАК ДоговорыКонтрагентовТаблицаПроцентовПоДоговору ГДЕ ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата <= &ДатаНачалаМесяца СГРУППИРОВАТЬ ПО ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Ссылка, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.ПроцентГодовой, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.НомерСтроки, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Ссылка.Владелец, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Ссылка КАК Договор, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.НомерСтроки, &ДатаНачалаМесяца, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата КАК ДатаФакт, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.ПроцентГодовой КАК ПроцентГодовой ИЗ Справочник.ДоговорыКонтрагентов.ТаблицаПроцентовПоДоговору КАК ДоговорыКонтрагентовТаблицаПроцентовПоДоговору ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоследниеДатыЦенНаНачалоМесяца КАК ПоследниеДатыЦенНаНачалоМесяца ПО ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Ссылка = ПоследниеДатыЦенНаНачалоМесяца.Договор И ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата = ПоследниеДатыЦенНаНачалоМесяца.ДатаПроцента ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Ссылка.Владелец, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Ссылка, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.НомерСтроки, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата, ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.ПроцентГодовой ИЗ Справочник.ДоговорыКонтрагентов.ТаблицаПроцентовПоДоговору КАК ДоговорыКонтрагентовТаблицаПроцентовПоДоговору ГДЕ ДоговорыКонтрагентовТаблицаПроцентовПоДоговору.Дата >= &ДатаНачалаМесяца |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |