首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果行中的值为空(值也链接到其他行),如何仍然返回psql查询?

如果行中的值为空(值也链接到其他行),如何仍然返回psql查询?
EN

Stack Overflow用户
提问于 2020-04-30 22:01:03
回答 1查看 28关注 0票数 0

我在postgres db中有两个表。公司和训练营。Companies.company_id是bootcampers.company_id外键的主键。

尝试选择bootcampers中的所有行,以及基于company_id的公司中的company_id和company_name。一些训练营的人还没有company_id。如何将此psql查询更改为“请返回所有字段”,但如果company_id为空,则无论如何都要返回其他所有字段。有没有需要使用“null Is ok”的东西?

代码语言:javascript
复制
SELECT uid,
    email,
    photourl,
    first_name,
    surname,
    aboutme,
    job_title,
    company_name,
    salary,
    start_date,
    previous_roles,
    cohort_num,
    region,
    job_satisfaction,
    new_job,
    bootcampers.twitter,
    github,
    portfolio,
    bootcampers.linkedin 
FROM companies 
  INNER JOIN bootcampers ON bootcampers.company_id = companies.company_id 
WHERE first_name ILIKE '%' || $1 || '%'
EN

回答 1

Stack Overflow用户

发布于 2020-05-01 01:16:29

因为您想要来自Bootcampers的一切,所以您需要一个RIGHT JOIN而不是一个INNER JOIN

代码语言:javascript
复制
SELECT uid,
    email,
    photourl,
    first_name,
    surname,
    aboutme,
    job_title,
    company_name,
    salary,
    start_date,
    previous_roles,
    cohort_num,
    region,
    job_satisfaction,
    new_job,
    bootcampers.twitter,
    github,
    portfolio,
    bootcampers.linkedin 
FROM companies 
  RIGHT JOIN bootcampers ON bootcampers.company_id = companies.company_id 
WHERE first_name ILIKE '%' || $1 || '%'

如果要在companies表中的列上添加筛选器,请务必小心,因为这可能会否定您的RIGHT JOIN,并使其再次像INNER一样工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61525169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档