[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