|
Как правильно сделать выборку запросом? | ☑ | ||
---|---|---|---|---|
0
ВотОнЯ
20.04.12
✎
14:09
|
Есть таблица.
ПЕРИОД | ЗНАЧЕНИЕ | РЕГИСТРАТОР ____________________________________ 01.01.2001 | Значение1 | Регистратор1 01.02.2001 | Значение1 | Регистратор2 03.02.2001 | Значение2 | Регистратор3 02.01.2001 | Значение1 | Регистратор4 05.02.2001 | Значеине2 | Регистратор5 02.01.2001 | Значение2 | Регистратор6 Из нее нужно получить "срез последних" для значений То есть на выходе Период | ЗНАЧЕНИЕ | РЕГИСТРАТОР ____________________________________ 01.02.2001 | Значение1 | Регистратор2 05.02.2001 | Значеине2 | Регистратор5 Как построить запрос и группировку? |
|||
1
qeos
20.04.12
✎
14:10
|
а как ты делаешь?
|
|||
2
ВотОнЯ
20.04.12
✎
14:13
|
(1) я пока никак не делаю, потому как не знаю как
|
|||
3
ВотОнЯ
20.04.12
✎
14:15
|
Если группировать по "Значение" с функцией "МАКСИМУМ(Период)", то что делать с "Регистратор"?
1) По нему группировать нельзя ибо группировка нужна только по "Значение", но и без функции это поле в выборке оставлять нельзя, так что же делать? |
|||
4
Жан Пердежон
20.04.12
✎
14:18
|
открой для себя соединения таблиц
|
|||
5
Нуф-Нуф
20.04.12
✎
14:18
|
срез последних на каждую дату в запросе. иди поиском
|
|||
6
ВотОнЯ
20.04.12
✎
14:20
|
(4) или говори конкретику или анекдот расскажи.
P.S.: Соединения знаю.. (5) Не понял немного.. можно в коде пример? |
|||
7
ВотОнЯ
20.04.12
✎
14:22
|
(5)если имеется ввиду поиском по результату выполнения запроса, то не подойдет ибо этот запрос является вложенным
|
|||
8
SanGvin
20.04.12
✎
14:22
|
(3) вот так попробуй
"ВЫБРАТЬ РАЗЛИЧНЫЕ МАКСИМУМ(Продажи.Период) КАК Период, МАКСИМУМ(Продажи.Регистратор) КАК Регистратор, Продажи.Номенклатура ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период >= &Период СГРУППИРОВАТЬ ПО Продажи.Номенклатура" |
|||
9
ВотОнЯ
20.04.12
✎
14:22
|
+(7) является вложением более сложного
|
|||
10
Жан Пердежон
20.04.12
✎
14:23
|
(6) врешь, причем нагло
|
|||
11
ВотОнЯ
20.04.12
✎
14:24
|
(8)в поле регистратор будет "максимальный" регистратор именно для группировки(что логично) или для периода?
Что то мне подсказывает, что для группировки.. |
|||
12
SanGvin
20.04.12
✎
14:25
|
(11) да, точно совсем не то =\
|
|||
13
ВотОнЯ
20.04.12
✎
14:25
|
(10)
на, приятного аппетита, телепат-гадалка! =) ВЫБРАТЬ Реализации.Р_Контрагент КАК Контрагент, Реализации.Р_ДокументДвижения КАК ДокументДвижения, Реализации.Р_Период КАК ДатаОстатков, Реализации.Р_СуммаДокумента КАК СуммаДокумента, ОстаткиДолга.ОД_ОстатокЗадолженности КАК ОстатокДолгаНаДатуОтчета ИЗ (ВЫБРАТЬ Остатки.Субконто1 КАК ОД_Контрагент, СУММА(Остатки.СуммаОстаток) КАК ОД_ОстатокЗадолженности ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки КАК Остатки ГДЕ Остатки.СуммаОстаток >= 0 СГРУППИРОВАТЬ ПО Остатки.Субконто1) КАК ОстаткиДолга ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ Реализация.Субконто1 КАК Р_Контрагент, Реализация.Регистратор КАК Р_ДокументДвижения, Реализация.Период КАК Р_Период, Реализация.СуммаОборот КАК Р_СуммаДокумента ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, Регистратор, Движения, Счет В (&МассивСчетовРеализации), , ) КАК Реализация) КАК Реализации ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПоследняяРеализация.Регистратор КАК ПР_ДокументДвижения, МАКСИМУМ(ПоследняяРеализация.Период) КАК ПР_Период ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, Регистратор, Движения, Счет В (&МассивСчетовРеализации), , ) КАК ПоследняяРеализация ГДЕ ПоследняяРеализация.СуммаНачальныйОстаток >= 0 И ПоследняяРеализация.СуммаКонечныйОстаток < 0 СГРУППИРОВАТЬ ПО ПоследняяРеализация.Регистратор) КАК ПоследниеРеализации ПО Реализации.Р_ДокументДвижения = ПоследниеРеализации.ПР_ДокументДвижения ПО (Реализации.Р_Контрагент = ОстаткиДолга.ОД_Контрагент) УПОРЯДОЧИТЬ ПО Контрагент, ДатаОстатков |
|||
14
SanGvin
20.04.12
✎
14:26
|
Вот так работает!
"ВЫБРАТЬ РАЗЛИЧНЫЕ МАКСИМУМ(Продажи.Период) КАК Период, МАКСИМУМ(Продажи.Регистратор) КАК Регистратор, Продажи.Номенклатура ИЗ РегистрНакопления.Продажи КАК Продажи ГДЕ Продажи.Период >= &Период СГРУППИРОВАТЬ ПО Продажи.Номенклатура УПОРЯДОЧИТЬ ПО Период УБЫВ |
|||
15
SanGvin
20.04.12
✎
14:27
|
(14) естессно, "ГДЕ" тут лишнее, чтобы выборку ограничить написал
|
|||
16
ВотОнЯ
20.04.12
✎
14:33
|
(15) кажись оно, спасибо, ща попробую
|
|||
17
SanGvin
20.04.12
✎
14:34
|
что касается "Максимального регистратора" - он будет максимальным для группировки и соответственно, совпадать по дате с периодом.
|
|||
18
SanGvin
20.04.12
✎
14:34
|
(16) рад помочь :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |