作者SaxonLo (Saxon)
看板Database
标题[SQL ] 有办法用SQL做出ForLoop的数值相加吗
时间Tue May 16 21:18:16 2017
资料库名称:SQL Server
内容/问题描述:
有 A B C 三栋大楼
A大楼有以下房间
有甲 乙 丙 ....以此类推
甲房间以下有几个箱子 每个房间也都有各自数量的箱子
在同一大楼且同一个房间里的每个箱子上都贴着一张 此房间里所有箱子里球的数量的
总和
(假设甲房间有十个箱子且加起来有100颗球) 会是以下
100 100 100 100 100 100 100 100 100 100
今天结果列想看到 每一栋大楼里总共有多少球
我想出的概念就是
A大楼有的球 = SUM( (SUM(甲房间每个箱子贴纸)/COUNT(甲房间每个箱子贴纸)) )
可是SUM涵式底下不能再有一层SUM (经测试後会ERROR讯息)
想到另解就是
用 FOR XML 把 ','+(SUM(甲房间每个箱子贴纸)/COUNT(甲房间每个箱子贴纸)) 的结果
当字串串起来
再到前端用Split解析做回圈相加(等於多绕一圈)
所以来这边想问有没有办法直接在SQL就做如果条件限制的回圈相加? 直接传回正确结果
首次发文 如有格式不妥还请告知
问题叙述不明朗也请下方留言
希望有大神可以告诉我更佳作法 如果真的不行 也请让我绝望 哈哈哈 谢谢大家
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.231.51.75
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1494940698.A.D7A.html
1F:推 cutekid: 可以附一下 table schema 吗?这样比较好帮你写喔 ^_^ 05/17 00:18