Обрабатывать несколько строк - PullRequest
1 голос
/ 30 ноября 2011

Я собираю данные в таблице «INTERIM_AUTO» на основе идентификатора единицы, идентификатора линии, CURR_DATE, т. Е.

SELECT INTERIM_AUTO_ID,
       UNIT_ID,
       PROD_LINE_ID,
       CURR_DATE,
       BAL_AMOUNT,
       V_SOURCE_CODE,
       CURR_ID,
       CREATED_BY,
       UPDATED_DATETIME
  FROM INTERIM_AUTO
 WHERE CURR_DATE = to_date(V_DATE, 'MM/DD/YYYY')
 GROUP BY UNIT_ID,
          PROD_LINE_ID,
          CURR_DATE

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

1 Ответ

1 голос
/ 30 ноября 2011

Звучит так, как будто вы хотите вычислить сумму столбца BAL_AMOUNT . Вы можете сделать это с помощью функции SUM.

Если вы используете SUM в столбце BAL_AMOUNT , вам придется добавить все остальные столбцы в GROUP BY:

   SELECT INTERIM_AUTO_ID,
          UNIT_ID,
          PROD_LINE_ID,
          CURR_DATE,
          SUM(BAL_AMOUNT) as SUM_BAL_AMOUNT,
          V_SOURCE_CODE,
          CURR_ID,
          CREATED_BY,
          UPDATED_DATETIME
     FROM INTERIM_AUTO
    WHERE CURR_DATE = to_date(V_DATE, 'MM/DD/YYYY')
 GROUP BY UNIT_ID,
          PROD_LINE_ID,
          CURR_DATE,
          INTERIM_AUTO_ID,
          UNIT_ID,
          PROD_LINE_ID,
          V_SOURCE_CODE,
          CURR_ID,
          CREATED_BY,
          UPDATED_DATETIME;

Или удалите ненужные столбцы:

   SELECT UNIT_ID,
          PROD_LINE_ID,
          CURR_DATE,
          SUM(BAL_AMOUNT) as SUM_BAL_AMOUNT
     FROM INTERIM_AUTO
    WHERE CURR_DATE = to_date(V_DATE, 'MM/DD/YYYY')
 GROUP BY UNIT_ID,
          PROD_LINE_ID,
          CURR_DATE;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...