SQL Server将2行数据显示为1行

qxsslcnc  于 2023-02-03  发布在  SQL Server
关注(0)|答案(1)|浏览(168)

在SQL Server查询中,我试图找出如何将特定记录的两行数据合并为一行。
以下是表数据的示例。下面是我希望数据显示的方式。我希望显示每个员工的所有可用列,但只显示在一行上。我尝试按分组,但不起作用,因为我希望显示所有列。
我希望为某些有两行的员工只显示一行。我可以使用EMP ID,因为它与特定员工相关联。对于在SQL Server中实现此目的的最佳方法,有何建议?

fjnneemd

fjnneemd1#

这个问题缺少一些信息,但总体上听起来像是你所需要的:

SELECT t.dept_name, t.team_name, t.employee_name, t.emp_id,
       max(t.count1) as count1, max(t.count2) as count2, max(t.count3) as count3,
       max(t.start_dt) as start_dt, max(t.end_dt) as end_dt, 
       max(t.load_date) as load_date
FROM YourTable t
GROUP BY t.dept_name, t.team_name, t.employee_name, t.emp_id

我假设t.dept_name, t.team_name, t.employee_name, t.emp_id是您想要对它们进行分组的方式,并且两个记录中只有一个记录将保存计数值(如果不是,您需要决定您想要哪一个)。此外,日期也不清楚,因为对于dept a,您选择了第一个,对于其余的,您选择了第二个,所以我使用max

相关问题