| 
 | 
| 
 
Поссчитать sum() over (partition by ...)  внутри формы 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  Народ, подскажите пожалуста. Есть набор комплектующих(items), используемых в работах (jobs) для создания какого-либо предмета. Одна работа требует несколько разных комплектующих, и каждая комплектующая может использоваться в нескольких работах. Есть так же количество каждой комплектующей на складе. В форме нужно показать комплектующую, работу в которой она используется и сколько останется комплектующих после завершения каждой работы. Например: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. В sql запросе я это нахожу через "на складе" - Код: plsql 1. 2. 3. Сделал view и на его основании форму. Для представления всей информации работает нормально, при поиске по "комплектующей" тоже. А вот если искать по "работе" то выдает не те количества в "Осталось". Проверил в простом запросе - то же не правильно. Т.е. если я делаю Код: plsql 1. 2. 3. то Оракл сначала находит все строки которые приносит view и считает для них "Осталось", а потом уже фильтрует их по "работа". Т.е. я получаю Код: plsql 1. 2. 3. вместо Код: plsql 1. 2. 3. Если убрать "осталось" из view, можно ли посчитать тоже самое в форме что бы поиск по обоим полям приносил правильные количества? Заранее спасибо. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.04.2015, 20:06 | 
  
  
  
   | 
||
| 
 
Поссчитать sum() over (partition by ...)  внутри формы 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  sum over, Как всё запутано .. Есть комплектующие, работы, кол-во на складе.. Выбирается "работа", для неё "комлектующие", указывается кол-во "в работу", считается "осталось", как разность (кол-во на складе - кол-во в работу).. Структура таблиц/связи между ними, пример формы, имхо "вью" сделали не верно, если она нужна вообще? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 27.04.2015, 22:45 | 
  
  
  
   | 
||
| 
 
Поссчитать sum() over (partition by ...)  внутри формы 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  При показе в форме всех данных или при поиске по комплектующим для каждой работы нужно показывать количество которое осталось с учетом предыдущих работ, т.е. если 5 работ требуют 25 деталей, а на складе есть только 10, то в последней работе нужно показать что есть нехватка -15 штук. Грубо говоря - табулярная форма имеет 10 строк для показа и имеется 250 строк которые нужно показать со скроллингом. Начиная со второй строки мне нужно знать число в предыдущей строке в той же колонке. Возможно такое? П.С. Таблицы из Oracle ERP (items, jobs, operations), но сути это дело не меняет. Спасибо. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 28.04.2015, 10:29 | 
  
  
  
   | 
||
| 
 
Поссчитать sum() over (partition by ...)  внутри формы 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  sum overНачиная со второй строки мне нужно знать число в предыдущей строке в той же колонке. Возможно такое? Возможно => go_record, first_record, last_record .. sum overП.С. Таблицы из Oracle ERP (items, jobs, operations), но сути это дело не меняет. Меняет, имхо "вью" Вы не правильно "сделали" .. ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 29.04.2015, 15:44 | 
  
  
  
   | 
||
| 
 
Поссчитать sum() over (partition by ...)  внутри формы 
 | 
|||
|---|---|---|---|
| 
 #18+ 
    
  mRdUKEsum overНачиная со второй строки мне нужно знать число в предыдущей строке в той же колонке. Возможно такое? Возможно => go_record, first_record, last_record .. Не проще просто аналитикой (аналитические ф-ции LEAD, LAG) во view? IMHO нефиг туда-сюда в forms'ах скакать ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 30.04.2015, 17:08 | 
  
  
  
   | 
||
| 
 | 

start [/forum/topic.php?fid=51&gotonew=1&tid=1878071]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    13ms | 
check forum access:  | 
    4ms | 
check topic access:  | 
    4ms | 
track hit:  | 
    51ms | 
get topic data:  | 
    9ms | 
get first new msg:  | 
    7ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    48ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 11ms | 
| total: | 160ms | 

| 0 / 0 | 

На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даете согласие с использованием данных технологий.