代码之家  ›  专栏  ›  技术社区  ›  user2465134

Postgres使用联接表进行查询

  •  1
  • user2465134  · 技术社区  · 4 年前

    我有3张桌子:

    users public_pictures , pictures

    导入属性:

    users.id

    public_pictures.user_id

    public_pictures.picture_id

    pictures.id

    是连接表 图片

    给定 user.id ,我想得到他们所有的公众照片。我试过这样的方法:

    SELECT * FROM pictures
    INNER JOIN public_pictures
    ON pictures.user_id = '1';
    

    但这只是返回所有用户的图像,而不是仅返回公共图像。

    1 回复  |  直到 4 年前
        1
  •  1
  •   nbk    4 年前

    您需要将表与其连接列连接起来,据我所知,只有public\u pictures有一个user\u id。

    SELECT * FROM pictures pi
    INNER JOIN public_pictures pp
    ON pp.picture_id = pi.id
    WHERE pp.user_id = '1';