GJSS Ответов: 1

Избегание столбца из предложения group by


У меня есть этот SP, где я пытаюсь вставить записи в целевую таблицу Oracle(11.2). Здесь в подзапросе именование как "А", где у меня есть проект столбца, который является одним из условий соединения для подзапроса "В", но здесь я не получаю желаемого результата, если помещаю столбец "проект" в предложение group by в подзапросе "а". Но в то же время мне нужно сослаться на то же самое, что и на одно из условий соединения подзапроса 'b'

Что я уже пробовал:

create or replace PROCEDURE PROC1 AS 
BEGIN       
INSERT INTO TARGET TABLE
 SELECT
        a.SECT,
        a. REG,
        a.USRN,
        a.PRO_CT,
        a.CATG,
        a.TLT,
        a.SN_YR_MN,
        a.SN_YR,
        a.SN_MN,
        a.UNIQUE_ISSUES_CNT,
        a.FILES_SN_ISS_CT,
        b.TOT_FILES_SN_CT,
        b.TOT_SN_CT,
        CURRENT_DATE
       FROM(select SECT, REG,USRN,PROJECT,count(DISTINCT concat(PROJECT,SOLUTION)) PRO_CT,CATG,TLT,SN_YR_MN,SN_YR,SN_MN,
      count(DISTINCT ISSUE_ID) UNIQUE_ISSUES_CNT,count(DISTINCT PATH)FILES_SN_ISS_CT
      FROM table1
      GROUP BY SECT, REG,PROJECT,USRN,CATG,TLT,SN_YR_MN,SN_YR,SN_MN)a
      JOIN
      (
      SELECT    USRN,
                PROJECT,
                SECT,
                 REG,
                SN_YR_MN,
                SN_YR,
                SN_MN,
                count(DISTINCT RPT_SCAN_SUMMARY.PATH)  TOT_FILES_SN_CT,
                count(DISTINCT RPT_SCAN_SUMMARY.SCAN_ID) TOT_SN_CT
                FROM table2                
                GROUP BY USRN,
                      PROJECT,
                      SECT, 
                       REG,
                      SN_YR_MN,
                      SN_YR,
                      PROJECT,
                      SN_MN) b ON a.USRN = b.USRN AND a.SECT = b.SECT AND 
         a. REG = b. REG AND a.SN_YR_MN = b.SN_YR_MN  AND a.SN_YR= b.SN_YR AND a.SN_MN= b.SN_MN AND a.PROJECT=b.PROJECT;

CHill60

Некоторые примеры данных и ожидаемые результаты помогут нам помочь вам

GJSS

Это сложная часть, чтобы объяснить с помощью примеров данных здесь.Я могу получить желаемый результат, удалив столбец "проект" из подзапроса "А", но мне нужно сохранить его в запросе select, где мне нужно сослаться на то же самое в подзапросе " в " в условии соединения.

CHill60

Примерные данные - это не сложно ... есть только две таблицы и пара строк из каждой достаточно часто, чтобы получить суть того, что требуется. Не видя "желаемого результата" и не зная, каким образом все идет не так, как мы можем вам помочь?
Кстати - если вы используете ссылку "ответить" рядом с комментарием, плакат уведомляется о том, что вы ответили. Они не будут уведомлены, если вы просто оставите случайные комментарии к своему собственному сообщению

GJSS

Вот мой ожидаемый результат

СЕКТА REG USRN PRO_CT CATG TLT SN_YR_MN SN_YR SN_MN UQ_ISS_CT FILES_SN_ISS_CT
GCA ASPK cl845 2 Обработка журналов использование System.out.println 2018-05 2018 05 23 4
ВКА АСПК cl846 1 журнал транспортная обработка непроверенные данные, записываемые в журналы 2018-05 2018 05 1 1
GCA ASPK cl847 1 Pin Management Hardcoded Pin 2018-05 2018 05 2 2
GCA ASPK cl848 2 Race Condition использование класса SimpleDateFormat 2018-05 2018 05 95 8
GCA ASPK cl849 1 корректность кода безопасная рандомизация - java.lang.Математика 2018-05 2018 05 4 1
GCA ASPK cl850 1 корректность кода безопасная рандомизация - java.util.Случайный 2018-05 2018 05 20 2
GCA ASPK cl851 1 утечка информации HTML комментарии в JSP 2018-05 2018 05 3 2
GCA ASPK cl852 2 утечка информации использование printStackTrace 2018-05 2018 05 23 6
ВКА АСПК cl853 1 Управления пароль "зашит" пароль 2018-05 2018 05 1 1
GCA ASPK cl854 1 Межсайтовый скриптинг необработанные данные, записанные на выходную веб-страницу 2018-05 2018 05 9 1
GCA ASPK cl855 1 валидация и дезинфекция ненадежных данных валидация данных содержащихся в скрытом поле 2018-05 2018 05 1 1
ВКА АСПК cl856 2 проверки и санитарная обработка ненадежных данных ненадежных данных, которые используются без проверки 2018-05 2018 05 64 3

GJSS

Извините ... я не могу его отформатировать.

GJSS

Реальный результат
СЕКТА REG USRN PRO_CT CATG TLT SN_YR_MN SN_YR SN_MN UQ_ISS_CT FILES_SN_ISS_CT
GC ASPAC cl84433 1 Обработка журналов использование System.out.println 2018-05 2018 05 6 2
GC ASPAC cl84433 1 Обработка журналов использование System.out.println 2018-05 2018 05 17 2
ГК АТР cl84433 1 журнал транспортная обработка непроверенные данные, записываемые в журналы 2018-05 2018 05 1 1
GC ASPAC cl84433 1 Pin Management Hardcoded Pin 2018-05 2018 05 2 2
GC ASPAC cl84433 1 состояние гонки использование класса SimpleDateFormat 2018-05 2018 05 23 2
GC ASPAC cl84433 1 состояние гонки использование класса SimpleDateFormat 2018-05 2018 05 72 6
GC ASPAC cl84433 1 корректность кода безопасная рандомизация - java.lang.Математика 2018-05 2018 05 4 1
GC ASPAC cl84433 1 корректность кода безопасная рандомизация - java.util.Случайный 2018-05 2018 05 20 2
GC ASPAC cl84433 1 утечка информации HTML комментарии в JSP 2018-05 2018 05 3 2
GC ASPAC cl84433 1 утечка информации использование printStackTrace 2018-05 2018 05 2 2
GC ASPAC cl84433 1 утечка информации использование printStackTrace 2018-05 2018 05 21 4
ГК АТР cl84433 1 Управления пароль "зашит" пароль 2018-05 2018 05 1 1
ГК АТР cl84433 1 межсайтовый скриптинг непроверенные данные, записанные на веб-страницу вывода 2018-05 2018 05 9 1
GC ASPAC cl84433 1 валидация и дезинфекция ненадежных данных валидация данных содержащихся в скрытом поле 2018-05 2018 05 1 1
ГК АТР cl84433 1 Проверка и санитарная обработка ненадежных данных ненадежных данных, которые используются без проверки 2018-05 2018 05 16 1
ГК АТР cl84433 1 Проверка и санитарная обработка ненадежных данных ненадежных данных, которые используются без проверки 2018-05 2018 05 48 2

1 Ответов

Рейтинг:
0

Gerry Schmitz

GROUP BY USRN,
         PROJECT,   -- !!!
         SECT,
          REG,
         SN_YR_MN,
         SN_YR,
         PROJECT, --- !!!
         SN_MN) b


"Форматирование" ваших запросов лучше помогает определить эти вещи.


GJSS

Это опечатка при копировании, но я могу запустить запрос, не получая желаемого результата