我想在plot
表中选择watchlist
表中存在的所有行。例如,通过我上传到SQLFiddle的示例,我应该可以使用查询返回3
中的5
,8
和plot
行,因为它们存在于watchlist
中。问题是,我不知道该怎么做。有什么想法吗?
这是我到目前为止所做的:
SELECT id, p_id, area, jobs from plot WHERE code="SA" AND p_id="3";
但只选择一行,但我知道它需要某种子查询,即用{strong>监视列表表替换WHERE code="SA" AND p_id="3";
。
答案 0 :(得分:1)
您可以使用INNER JOIN
来检查:
SELECT t1.id
, t1.p_id
, t1.area
, t1.jobs
FROM plot t1
JOIN watchlist t2 ON t1.p_id = t2.p_id
答案 1 :(得分:0)
返回ROWS 3,5和8
SELECT *
FROM plot, watchlist
WHERE plot.p_id = watchlist.p_id;
答案 2 :(得分:0)
从其他回复中可以看出 - 有多个解决方案,因此我会在您提到子查询后添加SUBQUERY
解决方案。
SELECT id, p_id, area, jobs FROM plot WHERE p_id in (SELECT p_id FROM watchlist);
答案 3 :(得分:0)