[SQL ] 有办法用SQL做出ForLoop的数值相加吗

楼主: SaxonLo (Saxon)   2017-05-16 21:18:16
数据库名称: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就做如果条件限制的循环相加? 直接传回正确结果
首次发文 如有格式不妥还请告知
问题叙述不明朗也请下方留言
希望有大神可以告诉我更佳作法 如果真的不行 也请让我绝望 哈哈哈 谢谢大家
作者: cutekid (可爱小孩子)   2017-05-17 00:18:00
可以附一下 table schema 吗?这样比较好帮你写喔 ^_^

Links booklink

Contact Us: admin [ a t ] ucptt.com