如何拦截 postgres 表中的数据

How to INTERSECT datas from tables on postgres

我在使用 INTERSECT command 时遇到了一些问题。希望有人能帮助我。

我想获取第一个和第二个中出现的 movieid SELECT。之后,我想使用这些数据(可能在 LIMIT 中,共 10 个)在另一个 table.

中接收电影的标题

类似这样的事情,但我做的不对:

SELECT movieid
FROM ratings
WHERE votes > 0
  INTERSECT SELECT movieid FROM genres WHERE genre = '$_SESSION[genero]'

在这种情况下,我应该得到同时出现在收视率和类型 table 上的电影。

在此之后,我想获取这些movieid 并在table 部电影中搜索movieid,最后显示标题。谢谢!

据我对问题的理解,我想这就是你要找的

select title , movieid from movies
where movieid in 
(
        SELECT movieid FROM ratings
        WHERE votes > 0
    INTERSECT 
        SELECT movieid FROM genres 
        WHERE genre = '$_SESSION[genero]'
)
select distinct m.title , movieid
from
    movies m
    inner  join
    ratings r using (movieid)
    inner join
    genres g using (movieid)
where r.votes > 0 and g.genre = '$_SESSION[genero]'