![]() |
![]() |
![]() |
|
Как в запросе левого соединение выбрать только одно значение? | ☑ | ||
---|---|---|---|---|
0
Shur1cIT
24.07.13
✎
16:30
|
УПП иметься отчет затраты на выпуск (переделанный) строиться по регистру "ЗатратыНаВыпускПродукции" руководство захотело помимо затрат увидеть количество выпущенной продукции в этом отчете, я соответственно делаю левое соединение к регистру ВыпускПродукции соединяя Продукцией и серией, в результате выпуск кривой (сильно завышен) так как количество выпуска получается для каждой строки а потом схлопываеться вопрос как построить запрос чтобы количество из оборотного регистра не задваивалось, например как ограничить получения данных из регистра только в разрезе группировки организация подразделение продукция
|
|||
1
palpetrovich
24.07.13
✎
16:36
|
по-ходу напрашивается наоборот - запрос к регистру ВыпускПродукции с левым соединением к ЗатратыНаВыпускПродукции
|
|||
2
IBTM
24.07.13
✎
16:37
|
ща экстрасенсов позову...
|
|||
3
Shur1cIT
24.07.13
✎
16:38
|
да я понимаю так проще получаем продукцию а потом левым соединением затраты, но отчет накручен надо как-то так вытащить количество выпущенного
|
|||
4
Shur1cIT
24.07.13
✎
16:41
|
(2) полкчаем затраты левым соединением лезем регистр "ВыпускПродукции" и хватаем от туда сколько было выпущено, так вот этих выпущено он слишком много хватает например напротив каздой затраты присутствует выпуск который в группировке сверху схлопываеться
|
|||
5
Defender aka LINN
24.07.13
✎
16:44
|
Соединение наборов данных
|
|||
6
Shur1cIT
24.07.13
✎
16:45
|
(5) это как?
|
|||
7
Defender aka LINN
24.07.13
✎
16:46
|
(6) Точь-в-точь как у Хрусталевой написано
|
|||
8
Shur1cIT
24.07.13
✎
16:47
|
(7) а что у неё написано?
|
|||
9
Desna
24.07.13
✎
16:49
|
насколько я понял - это стандартный запрос курсов валют на дату
|
|||
10
Shur1cIT
24.07.13
✎
16:52
|
(9) нет курс на дату даже левое соединение не нужно тупо запрос к одному регистру с параметром дата и валюта
|
|||
11
Shur1cIT
24.07.13
✎
16:55
|
пробывал делать вместо СУММА МАКСИМУМ тоже лажа
|
|||
12
olegves
24.07.13
✎
17:10
|
(0) никак.
сначала сверни присоединяемую таблицу до одной строки и потом присоединяй |
|||
13
EvgeniuXP
24.07.13
✎
17:12
|
фильтр? после левого пропиши ГДЕ и конкретное значение для левой таблицы - значение должно быть уникально во всей таблице.
|
|||
14
Shur1cIT
24.07.13
✎
17:26
|
(13) не получиться уникальное найти так как его нет вот картинка тоесть надо стобы 4.430 не суммировалась http://s5.hostingkartinok.com/uploads/images/2013/07/29cc3a823731584754ce52ccb6921a74.jpg
|
|||
15
viktor_vv
24.07.13
✎
17:32
|
Как-то так
ТекстЗапроса = " |Выбрать | Подзапрос.Продукция КАК Продукция, | Подзапрос.Затрата КАК Затрата, | Сумма(Подзапрос.КоличествоВыпуск) КАК КоличествоВыпуск, | Сумма(Подзапрос.КоличествоЗатрат) КАК КоличествоЗатрат, |ИЗ |(Выбрать | ТВыпускПродукция.Продукция КАК Продукция, | NUUL КАК Затрата, | ТВыпускПродукция.КоличествоВыпуск КАК КоличествоВыпуск, | 0 КАК КоличествоЗатрат |ИЗ | ТВыпускПродукция КАК ТВыпускПродукция | |Объединить ВСЕ | |Выбрать | ТЗатраты.Продукция , | ТЗатраты.Затрата , | 0 КАК КоличествоВыпуск, | ТЗатраты.КоличествоЗатрат КАК КоличествоЗатрат |ИЗ | ТЗатраты КАК ТЗатраты |) КАК Подзапрос |Сгруппировать ПО Подзапрос.Продукция , Подзапрос.Затрата |"; Правда при выоде иерархически в выборке по материалам будет лишняя строка со значением Затрата = NULL. |
|||
16
Shur1cIT
24.07.13
✎
17:32
|
можно ли какнибуть условие наложить первые 1 в разрезе номенклатуры тоесть если второй запрос с этойже наменклатурой будет из Левой части данные не получать
|
|||
17
Shur1cIT
24.07.13
✎
17:33
|
(15) ок спасибо изучаю
|
|||
18
viktor_vv
24.07.13
✎
17:47
|
Можно еще пронумеровать строки затрат в разрезе продукции.
Книга знаний: v8: Нумерация строк в запросе Потом левым соединением и в Выбрать для количества продукции Выбор КогдаТЗатрат.НомерСтроки = 1 Тогда Количество Иначе 0 Конец |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |