我正在学习postgresql,我不知道如何编写这个嵌套查询,或者它是否可能。

Table -> Points: pid | val

Table -> Grid: gid | max_val | min_val

Return I want: pid | gid | val

这就是我在脑子里看到的
for p in (SELECT * FROM Points)
    SELECT gid FROM Grid AS g WHERE p.val < g.max_val AND p.val > g.min_val

这可能吗?如果是这样,有人能给我指个正确的方向吗?

最佳答案

我认为您不需要嵌套查询,只需要一个连接。像这样的东西能满足你的需要吗?

SELECT
  P.pid,
  G.gid,
  P.val
FROM
  Grid          AS G
INNER JOIN
  Points        AS P
    ON  P.val < g.max_val
    AND P.Val > g.min_val

10-02 00:36
查看更多