Нужна помощь, чтобы перечислить дублирующую функцию в имени ответственного - PullRequest
0 голосов
/ 27 июня 2019

Мне нужно будет перечислить дубликаты функций в пределах имени ответственности в Oracle

Я пробовал ниже SQL-запрос

select ffl.user_function_name, ff.function_name, rtl.responsibility_name
  from apps.fnd_form_functions ff,
       apps.fnd_form_functions_tl ffl,
       apps.fnd_responsibility_vl rtl,
       apps.fnd_responsibility r,
       apps.fnd_compiled_menu_functions cmf
 where cmf.function_id = ff.function_id
   and r.menu_id = cmf.menu_id
   and rtl.responsibility_id = r.responsibility_id
   and cmf.grant_flag = 'Y'
   and ff.function_id = ffl.function_id
   and ffl.user_function_name = ffl.user_function_name
   and rtl.responsibility_name like "responsibility name"
   and ffl.language = 'US'
 order by ffl.user_function_name;

Я ожидал, что результаты sql будут единственными дублирующими функциями в имени ответственности со значением responsibility name.

1 Ответ

1 голос
/ 27 июня 2019

Вам нужно group by с having count(*) > 1 предложением

select  ffl.user_function_name, ff.function_name, rtl.responsibility_name
  from  apps.fnd_form_functions ff
  join  apps.fnd_form_functions_tl ffl on ffl.function_id = ff.function_id
  join  apps.fnd_compiled_menu_functions cmf on cmf.function_id = ff.function_id
  join  apps.fnd_responsibility r  on r.menu_id = cmf.menu_id
  join  apps.fnd_responsibility_vl rtl on rtl.responsibility_id = r.responsibility_id            
 where  cmf.grant_flag = 'Y'
   and  ffl.user_function_name = ffl.user_function_name
   and  rtl.responsibility_name = 'responsibility name'
   and  ffl.language = 'US'
 group by ffl.user_function_name, ff.function_name, rtl.responsibility_name
 having count(*) > 1
 order by ffl.user_function_name

и продолжайте использовать ANSI-92 стандарт SQL.

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