2016-12-02 3 views
1

В базе данных есть две таблицы:Можно ли выбрать это в одном запросе SQL?

secondNames:

id | name  
-------------- 
1 | John  
2 | Peter 
3 | Michael 

имена:

id | name | secondNames_id 
---------------------------- 
1 | Jack |  2   
2 | Harry |  2   
3 | James |  1   

у меня есть имя из secondName таблицы и хотите выбрать имена людей, у кого есть, что второй имя. Будучи начинающим на SQL, мне очень нравится:

SELECT id FROM secondNames WHERE name = 'some name'; 
SELECT name FROM names WHERE secondNames_id = 'id from first select'; 

Возможно ли это сделать в одном запросе и как?

+0

Присоединяйтесь к таблице имен в 'ид = secondNames_id' –

ответ

3

Это должно работать:

Select n.name 
from secondNames as sn 
inner join names as n on n.secondNames_ID = sn.id 
where sn.name = 'some name' 
1

Вы можете просто использовать scalar subquery:

SELECT name 
FROM names 
WHERE secondNames_id = (SELECT id 
         FROM secondNames 
         WHERE name = 'some name'); 
Смежные вопросы