使用第三个表中的数据更新第三个表的条件
问题描述:
根据以下条件和场景,我很难更新表列。使用第三个表中的数据更新第三个表的条件
条件表:
EmpID Consulting-A Consulting-B Consulting-C
A1 0 10 20
A2 50 30 0
A3 0 0 70
数据表:
EmpID Consulting-A Consulting-B Consulting-C
A1 10000 20000 30000
A2 0 35000 15000
A3 0 8000 0
输入表:
EmpID [Total Valid Consulting]
A1 20000 + 30000 = 50000
A2 0 + 35000 = 35000
A3 0
在一天结束的时候,我想有具有的Input Table
Total Valid Consulting
当它在0中的值大于零时,为Data Table
的总和。
例如,对于Total Valid Consulting
是EmpId A1
仅Consulting-B + Consulting-C
在Condition Table
的EmpID A1
(从Data Table
),因为仅具有Consulting-B
和大于零的Consulting-C
值。
所以,我只想添加其他表中大于零的值的列数据。有没有办法在SQL Server中这样做?这是我的更新声明,我有问题想出来。
感谢任何帮助和建议。谢谢!
答
您可以使用CASE
声明
INSERT INTO Input
SELECT EmpID,
CASE WHEN C.[Consulting-A] > 0 THEN CT.[Consulting-A] ELSE 0 END +
CASE WHEN C.[Consulting-B] > 0 THEN CT.[Consulting-B] ELSE 0 END +
CASE WHEN C.[Consulting-C] > 0 THEN CT.[Consulting-C] ELSE 0 END AS f
FROM Condition AS C
INNER JOIN Data AS CT ON C.EmpID = CT.EmpID
谢谢!这项工作。 – Ken 2015-04-02 13:11:17
很高兴我能帮到你。如果有帮助,您可以将其标记为答案。 – sqluser 2015-04-02 14:05:58