sql - 如何在 SQL Server Management Studio 中对 CASE 中的两行求和
问题描述
我目前正在尝试构建一个 SQL Server 代理,它应该可以解决我们的数据库存在的价格问题。这应该是一个快速修复,希望或提供商确实提出了更方便的解决方案。我有以下声明:
SELECT
CASE
WHEN KHKVKBelegePositionen.StuecklistenTyp = '0'
THEN (SELECT KHKVKBelegePositionen.Gesamtpreis)
WHEN KHKVKBelegeStuecklisten.Gesamtpreis != '0,00'
AND KHKVKBelege.A0Land != 'DE'
AND (KHKVKBelegePositionen.Artikelgruppe != '181' OR
KHKVKBelegePositionen.Artikelgruppe != '182' OR
KHKVKBelegePositionen.Artikelgruppe != '183')
AND KHKVKBelegePositionen.StuecklistenTyp != '0'
THEN (SELECT KHKVKBelegeStuecklisten.Gesamtpreis)
WHEN (KHKVKBelegePositionen.Artikelgruppe = '181' OR
KHKVKBelegePositionen.Artikelgruppe = '182' OR
KHKVKBelegePositionen.Artikelgruppe = '183')
AND KHKVKBelegePositionen.StuecklistenTyp != '0'
THEN (SELECT KHKVKBelegeStuecklisten.Gesamtpreis)
ELSE
CAST(KHKVKBelegeStuecklisten.GesamtpreisInternEW as varchar)
END AS Gesamtpreis
FROM
KHKVKBelegeStuecklisten (READUNCOMMITTED)
INNER JOIN
KHKVKBelege ON KHKVKBelegeStuecklisten.Belid = KHKVKBelege.BElid
INNER JOIN
KHKVKBelegePositionen ON KHKVKBelegeStuecklisten.BelID = KHKVKBelegePositionen.BelID
WHERE
KHKVKBelegePositionen.BelID = '3519582'
有些项目确实由两部分组成,每一部分都有一个值。所以输出是 2 行有 2 个值。我想将这些值相加为一个值,以更新表格。
这部分我最挣扎
WHEN (KHKVKBelegePositionen.Artikelgruppe = '181' OR
KHKVKBelegePositionen.Artikelgruppe = '182' OR
KHKVKBelegePositionen.Artikelgruppe = '183')
AND KHKVKBelegePositionen.StuecklistenTyp != '0'
THEN (SELECT KHKVKBelegeStuecklisten.Gesamtpreis) `
在我的示例中,数据将如下所示:
Overall Price
1. 13.75
2. 2.57
我需要合并这个值才能更新
解决方案
推荐阅读
- facebook - 如何添加应用页面来测试小游戏的应用?
- javascript - 为什么我不能分开
到不同的模块? - java - 使用 ArrayList 优化合并排序
- spring-boot - 启用 zuul 重试会破坏 PCF 上的 Eureka 路由
- angular - 具有真正延迟加载大型树的角度树视图组件
- java - java中的ExecuteUpdate成功将记录添加到PostgreSQL但表不会更新
- javascript - 可以使用 onAuthStateChanged 中的 user_id 从 firebase 读取数据
- ios - 过滤背景噪声频率
- ios - 如何从核心数据/表格视图中添加/删除项目
- android - 我的应用与任何受支持的设备都不兼容