重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
数字就直接相加,结果是和。如 3+4=7
成都创新互联是工信部颁发资质IDC服务器商,为用户提供优质的成都服务器托管服务
字符相加是组合:如 'aa'+'bb'='aabb'
日期+日期是时间:2个时间分别与1900年1月1日相差的和。
如:日期1+日期2=(日期1 - '1900-1-1')+(日期2 -'1900-1-1')+'1900-1-1'
sqlserver2005以上的版本可用
select 单号,申请人,
stuff((select '/'+文件名 from tbB where a.单号=单号 for xml path('')),1,1,'')文件名
from tbA as a
SELECT ISNULL(a.[部门编码], b.[部门编码]) AS [部门编码],
ISNULL(a.[金额],0) + ISNULL(b.[金额],0) AS [金额]
FROM a FULL OUTER JOIN b ON a.[部门编码]=b.[部门编码]
create Table T
(
id int,
a int,
b int
)
Insert into t values(1,1,1)
Insert into t values(2,2,1)
Insert into t values(3,3,1)
Insert into t values(4,4,1)
Insert into t values(5,5,1)
Insert into t values(6,6,1)
/*思路:
id可能不连续,所以先用id排序,产生一个记录号id2
然后按3条记录一组产生一个分组号G,接着按G分组求和,id取最大
最后更新
*/
With CT
AS
(
Select max(id) As id,SUM(a) As A,SUM(B) As B
from
(
Select *,(id2+2)/3 As G
from (Select *,ROW_NUMBER() over(order by id) As id2 from T) S
)M Group by G
)
Update T Set a=CT.A-T.a,b=CT.B-T.b
From CT
where T.id=CT.id
您好:
写的SQL没有经过测试,请您参考
--采购订单插入临时表 总金额负数
SELECT pro.name,cus.name,taxAmount AS 'purSUM',0 AS 'saleSUM',-taxAmount AS 'Total' INTO #t
FROM 采购订单表 pur
LEFT JOIN 项目表 pro ON pro.id=pur.idproject
LEFT JOIN 往来单位表 cus ON cus.id=pur.idpartner
--销售订单表插入临时表 总金额正数
SELECT pro.name,cus.name,0,taxAmount,taxAmount INTO #t
FROM 销售订单表 sale
LEFT JOIN 项目表 pro ON pro.id=sale.idproject
LEFT JOIN 往来单位表 cus ON cus.id=sale.idpartner
--统计
SELECT 项目.name,往来单位.name
,SUM(purSUM) AS '采购总额'
,SUM(saleSUM) AS '销售总额'
,SUM(Total) AS '毛利润'
FROM #t
GROUP BY 项目.name,往来单位.name
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!把时分秒分段截出来汇总,然后秒=秒总数%60 分=(分总数+秒总数/60)%60 时=时总数+(分总数+秒总数/60)/60,汇总时分秒求出以后拼装一下就好了非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!