выберите заявление - PullRequest
       1

выберите заявление

0 голосов
/ 15 июня 2011

мой стол выглядит так:

enter image description here

Если имя поля содержит стоимость или количество для того же lineItemIds, я должен отобразить результат как:

стоимость изменена с 8 * 1 = 8 (от Val * от Val) до 9 * 6 = 54 (toVal * toVal) для itemID 123.

любая помощь будет оценена.

Ответы [ 2 ]

2 голосов
/ 15 июня 2011
SELECT tc.LINE_ITEM_ID              ITEM_ID,
       tc.FROMVAL              COST_FROMVAL,
       tq.FROMVAL               QTY_FROMVAL,
       (tc.FROMVAL*tq.FROMVAL) PROD_FROMVAL,
       tc.TOVAL                  COST_TOVAL,
       tq.TOVAL                   QTY_TOVAL,
       (tc.TOVAL*tq.TOVAL)       PROD_TOVAL,
  FROM
(SELECT LINE_ITEM_ID,
        FROMVAL,
        TOVAL,
   FROM table
  WHERE FIELDNAME = 'cost') tc
JOIN (SELECT LINE_ITEM_ID,
             FROMVAL,
             TOVAL,
        FROM table
       WHERE FIELDNAME = 'quantity') tq
  ON tc.LINE_ITEM_ID = tq.LINE_ITEM_ID
0 голосов
/ 15 июня 2011

Я хотел бы изучить использование агрегатных функций продукта. Вы должны будете скомпилировать их сами, хотя Oracle не включает их в качестве системных функций. http://radino.eu/2010/11/17/product-aggregate-function/

Если это только один случай, когда используются стоимость или количество, то вы также можете просто использовать подзапросы или таблицы на основе временных транзакций.

Я бы предоставил вам пример запроса, но, к сожалению, в настоящее время экземпляр Oracle не доступен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...