2017-01-28 8 views
0

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

SELECT entry_id FROM FEEDENTRYSTATUSES WHERE starred > 0 ; 
+----------+ 
| entry_id | 
+----------+ 
|  1036 | 
|  1059 | 
+----------+ 
2 rows in set (0.00 sec) 

SELECT url from FEEDENTRIES WHERE id = 1036 ; 
+---------------------+ 
| url     | 
+---------------------+ 
| https://google.com/ | 
+---------------------+ 
1 row in set (0.00 sec) 

Так что я могу получить список идентификаторов из таблицы FEEDENTRYSTATUSES. Я могу получить значение из второй таблицы вручную, указав значение . Но я хотел бы искать в таблице FEEDENTRIES значения, возвращаемые первым SELECT.

Это способ сделать это? Любая помощь очень ценится. Большого спасибо

+0

Go для 'ВНУТРЕННИХ JOIN' , – 1000111

ответ

0

Вы можете использовать IN оператор и подзапрос для достижения этого:

SELECT url from FEEDENTRIES 
WHERE id IN (SELECT entry_id FROM FEEDENTRYSTATUSES WHERE starred > 0); 

или присоединиться таблицами и фильтровать данные, которые вам нужны:

SELECT fe.url from FEEDENTRIES fe 
    INNER JOIN FEEDENTRYSTATUSES fes ON fe.id = fes.entry_id 
WHERE fes.starred > 0; 
+0

Отлично! большое спасибо. – chris3389