Sql 选择并添加重复记录的值
我想要求和,如果它存在于复制单元号的三列中的任何一列中。如果使用下面的查询,则获取错误。谢谢你的帮助。多谢各位Sql 选择并添加重复记录的值,sql,sql-server,tsql,Sql,Sql Server,Tsql,我想要求和,如果它存在于复制单元号的三列中的任何一列中。如果使用下面的查询,则获取错误。谢谢你的帮助。多谢各位 select RANK() OVER(PARTITION BY unitNumber order by tableA.id) as unitnumber, ColA, ColC, ColB from tableA join tableB on tableA.id = TableB.id where unitNumber > 1 and tableB .adm_D
select RANK() OVER(PARTITION BY unitNumber order by tableA.id) as unitnumber, ColA, ColC, ColB
from tableA join
tableB on tableA.id = TableB.id
where unitNumber > 1
and tableB .adm_Date between 01-01-2013 and 12-31-2013
Data:
unitNumber colA colB ColB
235 402 88 null
245 null 501 522
255 110 550 null
245 85 null 101
215 90 null 20
275 852 225 null
215 70 null 20
225 null null null
输出应该是
unitNumber colA colB ColB
235 402 88 null
245 85 501 623------added the values in colA, ColB
275 852 225 null
215 160 null 40 ------added the calues colA and ColB
你不需要排名函数。您所需要的只是按单元编号分组。我是根据您的源和目标数据进行查询的
SELECT UnitNumber, SUM(ISNULL(ColA, 0)) ColA, SUM(ISNULL(ColB, 0)) ColB, SUM(ISNULL(ColC, 0)) ColC
from tableA join
tableB on tableA.id = TableB.id
where unitNumber > 1
and tableB.adm_Date between 01-01-2013 and 12-31-2013
GROUP BY UnitNumber
假设所有数据都在同一个表中
SELECT UnitNumber, SUM(ISNULL(ColA, 0)) ColA, SUM(ISNULL(ColB, 0)) ColB, SUM(ISNULL(ColC, 0)) ColC
from tableA
where unitNumber > 1
and tableA.adm_Date between 01-01-2013 and 12-31-2013
GROUP BY UnitNumber
谢谢@Anup Agarwal。因为select语句中包含的其他计算列很少,所以有没有办法在where子句中写入上面的isnull。已尝试使用“having”,但不起作用。@user3502587如果有其他计算列可以使用外接程序Select子句,也可以在having子句中使用它们。如果你能显示更多的数据,你会更容易理解你的要求。另外,为了避免移动门柱的情况,如果这是一个全新的问题,最好开始一个新的线程。我使用case…when..然后填充colA、colB和colC。我也有ID和代码栏。在“sumnullif”和“group by”上面与case…when..语句一起使用,但仍不能累加重复的UNITNUMER。谢谢你的帮助。id单元号colA colB colB代码51 235 402 88 null tx 52 245 null 501 522 cg 53 255 110 550 null fw 54 245 85 null 101 mx 55 275 852 225 null tx 56 215 70 null 20 mx 56 225 null null mx什么是表格A和表格B。是同一张桌子吗?代码字段的用途是什么。如果您的所有数据都在一个表中,我已经更新了我的答案。所有列都来自表B,使用表A仅获取日期范围。我需要以.csv格式发送此数据以更新不同的applicationDb表。因此,当我导入这个.csv文件时,当它遇到重复的单位编号时,这个应用程序会抛出错误,但它可能有重复的ID。这就是我需要为重复的unit_number添加值的原因。此外,当我尝试上述查询时,它会要求聚合所有剩余的列,如果包括,uit编号仍然是重复的。希望我包括了所有的要点。谢谢