Вложенный запрос с объединениями

#sql #oracle #greatest-n-per-group

#sql #Oracle #наибольшее число пользователей на группу

Вопрос:

Как я могу получить данные, в которых я хочу написать вложенный запрос с объединениями? Я хочу отобразить first_name , designation откуда t1 и project_name col2 t2 откуда end_date= (select max(end_date) from project where res_id=?) ;

Не могли бы вы помочь мне написать sql-запрос

 select R.first_name, R.Designation, R.DOB, R.DOJ, R.Department, 
R.city, p.project_name, p.start_date, p.end_date, 
p.end_date 1 as next_avail_date 
from resources R full JOIN project p on (r.res_id=p.res_id) 
where r.u_id='amp;u_id';
  

Я хочу выбрать название проекта на основе следующего запроса

 select project_name from project where end_date= (select max(end_date) from project where res_id=1);
  

как мне добавить его в приведенный выше запрос?

Комментарии:

1. Пожалуйста, покажите свой код.

2. выберите R.first_name, R.Обозначение, R.DOB, R.Министерство юстиции, R.Департамент, R.город, p.project_name, p.start_date, p.end_date, p.end_date 1 в качестве next_avail_date из ресурсов R полное ПРИСОЕДИНЕНИЕ к проекту p on (r.res_id=p.res_id), где r.u_id=’amp;u_id’; Я хочу выбрать имя_проекта из проекта, где end_date= (выберите max(end_date) из проекта, где res_id=1);

Ответ №1:

Вы можете использовать вложенный запрос в качестве представления в ПРЕДЛОЖЕНИИ FROM и выполнять объединение с ним так же, как с таблицей. Попробуйте что-то вроде этого

 select R.first_name, 
       R.Designation, 
       R.DOB, R.DOJ, 
       R.Department, 
       R.city,     
       p.project_name, 
       p.start_date, 
       p.end_date, 
       p.end_date 1 as next_avail_date 
  from resources r, (select project_name 
                       from project 
                      where end_date= (select max(end_date) 
                                         from project pr 
                                        where pr.res_id=1)) p
 where r.u_id='amp;u_id'
   and r.res_id=p.res_id;
  

Комментарии:

1. Я получаю эту ошибку ORA-00904: «P».»RES_ID»: недопустимый идентификатор 00904. 00000 — «%s: недопустимый идентификатор» * Причина: * Действие: ошибка в строке: 15 Столбец: 17