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;
我正在寻找一种方法来从另一个 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;