【问题标题】:PostgreSQL query which should include null values also in master tablePostgreSQL 查询也应在主表中包含空值
【发布时间】:2020-10-13 04:12:59
【问题描述】:

我是 PostgresQL 的初学者,请您在下面的问题中帮助我

我有这样的主表和明细表 enter image description here

如果图像不清晰,我提供这样的示例

master table                           detail table
-----------                           --------------

dept_no   dept_name             dept_no emp_no  emp_name  emp_desig

1         Marketing               1      E001   saritha   Sales Manager
2         R&D                     1      E002   latha     Sales Executive
3         HR                      2      E003   veena     Coder
4         IT                      3      E004   geetha    Manager
5         Testing                 3      E005   Kavin     Field Officer

我需要下面这样的结果,其中应该包括具有空值的 dept_name,

dept_name      emp_name

Marketing      saritha,latha
R&D            veena
HR             geetha,kavin
IT 
Testing

谁能帮我解决这个问题,提前谢谢。

【问题讨论】:

  • 你尝试LEFT JOIN你的桌子了吗?
  • "help me" 不是一个有效的 SO 问题。不要要求我们做你的功课。 How to Askuse text, not images/links, for text--including tables & ERDs。仅将图像用于无法表达为文本或增强文本的内容。对此的所有部分显然是基本的初学者常见问题解答。请在考虑发布之前阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。
  • 请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入作为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。对于包含 DBMS 和 DDL(包括约束和索引)和输入为格式化为表格的代码的 SQL。
  • @Daria,我需要,我想我需要深入研究一下postgresql
  • @philipxy,我以后会改进我的问题,抱歉我问错了

标签: string postgresql join select


【解决方案1】:

一个可能的解决方案:

select dept_name, string_agg(emp_name,',')
from master
left join detail
on master.dept_no = detail.dept_no
group by master.dept_no, dept_name
order by master.dept_no;
 dept_name |  string_agg   
-----------+---------------
 Marketing | latha,saritha
 R&D       | veena
 HR        | kavin,geetha
 IT        | 
 Testing   | 
(5 rows)

【讨论】:

  • 非常感谢 pifor 的即时回复。它对我有用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-23
  • 2018-07-20
  • 2021-12-07
  • 2020-07-02
  • 1970-01-01
相关资源
最近更新 更多