sql 分组合计问题

si12si12 2015-08-29 10:52:33

CREATE TABLE [dbo].[A](
[ID] [int] IDENTITY(1,1) NOT NULL,
[TogetheCode] [varchar](50) NULL
)

CREATE TABLE [dbo].[B](
[Code] [varchar](50) NOT NULL,
[iNum] [float] NULL
)

INSERT INTO A(TogetheCode) VALUES ('P1/P3')
INSERT INTO A(TogetheCode) VALUES ('P2/P4')

INSERT INTO B(Code,iNum) VALUES('P1',4)
INSERT INTO B(Code,iNum) VALUES('P2',3)
INSERT INTO B(Code,iNum) VALUES('P3',2)
INSERT INTO B(Code,iNum) VALUES('P4',1)

想得到的查询结果如下

...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2015-08-29
  • 打赏
  • 举报
回复


select a.ID ,a.TogetheCode , b.Code , b.iNum , 
sum(iNum) over (partition by a.id) TogetheNum
from A , B where a.TogetheCode like '%' + b.Code + '%'
go


ID          TogetheCode Code       iNum                   TogetheNum
----------- ----------- ---------- ---------------------- ----------------------
1           P1/P3       P1         4                      6
1           P1/P3       P3         2                      6
2           P2/P4       P2         3                      4
2           P2/P4       P4         1                      4

(4 行受影响)

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧