请教如果把列值做为运算条件

mfkpie 2019-03-05 05:51:23
table
ID data
1 100
2 200
3 500
4 100


tableB

ID 公式
1 table.1+table.2+table.4
2 table.2+table.3-table.4+table.1

结果为

id 结果
1 300
2 700

如果能把值做为运算 请教
...全文
91 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2019-03-06
  • 打赏
  • 举报
回复
table.1+table.2+table.4 这个公式有点累啊…… table是表名 然后.1 是id的值,还不是字段名……
吉普赛的歌 2019-03-05
  • 打赏
  • 举报
回复
你这个表结构设计成这样没什么好办法, 只能写存储过程, 用动态SQL一点点地拼了。
--建议你把 tableB 的表结构改成如下的:
ID   tableId      theValue
1    1             1
1    2             1
1    4             1    
2    2             1
2    3             1
2    4             -1
2    1             1

--求和:
SELECT ID,SUM(tableId*theValue)
FROM tableB
GROUP BY ID

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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