我不希望某些条目显示在我的 postgresql 表中

时间:2021-07-27 19:21:23

标签: postgresql

enter image description here

如上图所示,我不希望最后两个条目(即 facebook 和 twitter)显示在我的表中,并且只想要一个具有用户 ID 的条目。我怎样才能避免这种情况。请不要介意我的词汇,因为我没有丰富的编程词汇。

我在数据库中使用此代码

SELECT users.id, EXTRACT(YEAR from AGE(users.dob)) AS Age, users.gender, users.nationality as Country, app.name AS App 
    FROM users
    FULL OUTER JOIN app_user_profile
        ON users.id = app_user_profile.users_id
    FULL OUTER JOIN app
        ON app_user_profile.app_id = app.id
ORDER BY users.id;

1 个答案:

答案 0 :(得分:2)

您应该使用 LEFT OUTER JOIN 又名 LEFT JOIN,而不是使用 FULL OUTER JOIN,或者如果您真的想从 usersapp_user_profileapp 关系中精确匹配,请使用严格加入 i,e INNER JOIN 又名 JOIN

试试这个

SELECT users.id,
       EXTRACT(YEAR
               FROM AGE(users.dob)) AS Age,
       users.gender,
       users.nationality AS Country,
       app.name AS App
FROM users
LEFT OUTER JOIN app_user_profile ON users.id = app_user_profile.users_id
LEFT OUTER JOIN app ON app_user_profile.app_id = app.id
ORDER BY users.id;

SELECT users.id,
       EXTRACT(YEAR
               FROM AGE(users.dob)) AS Age,
       users.gender,
       users.nationality AS Country,
       app.name AS App
FROM users
INNER JOIN app_user_profile ON users.id = app_user_profile.users_id
INNER JOIN app ON app_user_profile.app_id = app.id
ORDER BY users.id;
相关问题