SQL 根据另一个 table 中的搜索结果在 table 中查找行

SQL find rows in table based on search results in another table

我正在寻找一种方法来从另一个 table 的查询结果中搜索 table 值:

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 table 中获取 ID 列表。 我可以通过给出值 1036 手动从第二个 table 检索值。 但我想从第一个 SELECT.

返回的值中搜索 table FEEDENTRIES

有办法吗? 非常感谢任何帮助。 非常感谢

您可以使用 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;