|
Вопрос про запрос | ☑ | ||
---|---|---|---|---|
0
НайдуУбъю
21.08.12
✎
17:43
|
Народ подскажите кто может(хочет) пжл.
Нужно из двух регистров ПродажиОбороты по двум периодам вытащить данные по контрагенту и номенклатуре. Чтобы контрагенты и номенклатура первой и второй таблицы отображались в первой и второй колонках соответственно. Ни объединение ни соединение мне не помогло. Подскажите плиз где я туплю:) |
|||
1
ОператорПК
21.08.12
✎
17:46
|
"Объединить все" - рулит и разруливает :) может запрос покажешь?
|
|||
2
НайдуУбъю
21.08.12
✎
17:47
|
ща..
|
|||
3
НайдуУбъю
21.08.12
✎
17:51
|
ВЫБРАТЬ
ПродажиОбороты.Контрагент.Родитель.Родитель КАК КаталогДилера, ВЫБОР КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА "Reman" ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ КАК РодительНГ, СУММА(ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот, 0)) КАК СтоимостьОборот, СУММА(0) КАК СтоимостьОборот2 ИЗ РегистрНакопления.Продажи.Обороты(&СДаты, &НаДату, , Контрагент В ИЕРАРХИИ (&КаталогДилеров)) КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ВЫБОР КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА "Reman" ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ, ПродажиОбороты.Контрагент.Родитель.Родитель ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПродажиОбороты.Контрагент.Родитель.Родитель, ВЫБОР КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА "Reman" ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ, СУММА(0), СУММА(ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот, 0)) ИЗ РегистрНакопления.Продажи.Обороты(&СДаты2, &НаДату2, , Контрагент В ИЕРАРХИИ (&КаталогДилеров)) КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ВЫБОР КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА "Reman" ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ, ПродажиОбороты.Контрагент.Родитель.Родитель ИТОГИ СУММА(СтоимостьОборот), СУММА(СтоимостьОборот2) ПО ОБЩИЕ |
|||
4
ОператорПК
21.08.12
✎
17:53
|
(3) креативно написано. а что не выходит?
|
|||
5
olegves
21.08.12
✎
17:55
|
ВЫБОР
КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА "Reman" ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ КАК РодительНГ Строку со ссылкой хочешь подружить? Ну,ну |
|||
6
НайдуУбъю
21.08.12
✎
17:57
|
щас покажу
|
|||
7
НайдуУбъю
21.08.12
✎
17:59
|
||||
8
НайдуУбъю
21.08.12
✎
18:00
|
(5) ну даже ссылка с ссылкой почему не дружат?
|
|||
9
olegves
21.08.12
✎
18:04
|
(7)
ВЫБОР
|
|||
10
olegves
21.08.12
✎
18:05
|
к (9) вместо ВЫБОР поставь Алиас
|
|||
11
ОператорПК
21.08.12
✎
18:22
|
попробуй все поместить во временную таблицу, потом ее сгруппировать.
|
|||
12
НайдуУбъю
22.08.12
✎
09:21
|
(9) непрокатило...
|
|||
13
НайдуУбъю
22.08.12
✎
09:24
|
(11) тут проблем еще в том что кроме ОБЩИЕ надо группировать по КаталогДилера...
...либо как вариант группировать перед выводом в макет по подтаблице. |
|||
14
olegves
22.08.12
✎
09:28
|
(12) в секции ИТОГИ (9) конструкцию ВЫБОР замени на РодительНГ
|
|||
15
НайдуУбъю
22.08.12
✎
09:32
|
(14)вот так вот чтоли:
ВЫБРАТЬ ПродажиОбороты.Контрагент.Родитель.Родитель КАК КаталогДилера, ВЫБОР КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА ПродажиОбороты.Номенклатура.REMAN ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ КАК РодительНГ, СУММА(ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот, 0)) КАК СтоимостьОборот, СУММА(0) КАК СтоимостьОборот2 ИЗ РегистрНакопления.Продажи.Обороты(&СДаты, &НаДату, , Контрагент В ИЕРАРХИИ (&КаталогДилеров)) КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ПродажиОбороты.Контрагент.Родитель.Родитель, ВЫБОР КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА ПродажиОбороты.Номенклатура.REMAN ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ ПродажиОбороты.Контрагент.Родитель.Родитель, ВЫБОР КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА ПродажиОбороты.Номенклатура.REMAN ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ, СУММА(0), СУММА(ЕСТЬNULL(ПродажиОбороты.СтоимостьОборот - ПродажиОбороты.НДСОборот, 0)) ИЗ РегистрНакопления.Продажи.Обороты(&СДаты2, &НаДату2, , Контрагент В ИЕРАРХИИ (&КаталогДилеров)) КАК ПродажиОбороты СГРУППИРОВАТЬ ПО ПродажиОбороты.Контрагент.Родитель.Родитель, ВЫБОР КОГДА ПродажиОбороты.Номенклатура.REMAN ТОГДА ПродажиОбороты.Номенклатура.REMAN ИНАЧЕ ПродажиОбороты.Номенклатура.НоменклатурнаяГруппа.Родитель КОНЕЦ ИТОГИ СУММА(СтоимостьОборот), СУММА(СтоимостьОборот2) ПО ОБЩИЕ, РодительНГ |
|||
16
olegves
22.08.12
✎
09:39
|
(15) угу
|
|||
17
НайдуУбъю
22.08.12
✎
09:44
|
(16)ничего хорошего из этого не вышло, вот гляди с группировками по все реквизитам:
http://pixs.ru/showimage/dfdfdjpg_5705661_5580204.jpg |
|||
18
olegves
22.08.12
✎
09:48
|
(17) результат запроса выгружай в дерево или обходи по группировкам и будет тебе щастье
|
|||
19
НайдуУбъю
22.08.12
✎
09:51
|
(18) а потом каждую ветку группировать с итогами по суммовым полям что ли?
|
|||
20
НайдуУбъю
22.08.12
✎
09:52
|
а почему он не может подружится с себе подобным внутри запроса?? чтоб каждая отличная от других строка шла одной строкой а не двумя...
|
|||
21
Rovan
гуру
22.08.12
✎
09:52
|
(4) надо делать не ОБЪЕДИНИТЬ ВСЕ, а ПОЛНОЕ СОЕДИНЕНИЕ
|
|||
22
НайдуУбъю
22.08.12
✎
09:54
|
(21) ооо друг, ты ломаешь мой сложившийся за последние два дня стереотип о ПОЛНОМ СОЕДИНЕНИИ
|
|||
23
Rovan
гуру
22.08.12
✎
09:55
|
(22) пробовал - не получилось ?
|
|||
24
НайдуУбъю
22.08.12
✎
09:56
|
даже не то чтобы пробовал, а мучался....
|
|||
25
НайдуУбъю
22.08.12
✎
09:59
|
просто смысл в полном соединение в том что в первой таблице может не быть таких контрагентов и номенклатуры как во второй, поэтому в итоговой таблице будет фигурировать сумма без каталогаДилера и РодителяНГ, если например их брать из первой таблицы...
|
|||
26
olegves
22.08.12
✎
10:01
|
(20) он уже подружился, остается тебе с ним подружиться, немного включив голову. Если не поможет, посмотри примеры типовых по обходу запросов по группировкам.
|
|||
27
НайдуУбъю
22.08.12
✎
10:02
|
а если в конструктор добавлять еще две таблицы СпрКонтрагенты и СпрНоменклатура, чтобы иметь полное описание всех возможных данных в результирующей таблице, то контруктор не даст правильно задать связи, по каким причинам я так и не понял...
|
|||
28
Rovan
гуру
22.08.12
✎
10:11
|
(25) всё просто - в таких случаях пишут так:
ВЫБРАТЬ ЕСТЬNULL( Таблица1.Контрагент, Таблица2.Контрагент ) КАК Контрагент, ... |
|||
29
НайдуУбъю
22.08.12
✎
10:24
|
(28) о как, возьму на заметочку...))
|
|||
30
Rovan
гуру
22.08.12
✎
10:55
|
(29) давай уж добьем твой запрос! делов на 5 минут !!
|
|||
31
НайдуУбъю
22.08.12
✎
11:06
|
да вот додумал все таки уже запрос, как грит olegves в (26), ведь итоги по родителюНГ уже и так являются одной строкой, что в общем то и нужно, просто не брать дальнейшую детализацию и все...оуе))
(30) а твой вариант тоже неплох, на будущее можно взять на вооружение!!))) так что спасибо всем кто потратил свое время))) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |