2016-10-04 3 views
0

Как я могу получить данные, где я хочу написать вложенный запрос с помощью соединений? Я хочу, чтобы отобразить 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='&u_id'; 

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

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

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

+0

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

+0

выберите 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 из ресурсов R полный проект JOIN p (r.res_id = p.res_id) где r.u_id = '&u_id'; Я хочу выбрать имя_проекта из проекта, где end_date = (выберите max (end_date) из проекта, где res_id = 1); –

ответ

0

Вы можете использовать суб-запрос как представление в FROM CLAUSE и присоединиться к нему так же, как и таблица. Попробуйте с этим примерно

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='&u_id' 
    and r.res_id=p.res_id; 
+0

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

 Смежные вопросы

  • Нет связанных вопросов^_^