【发布时间】:2019-12-04 17:21:39
【问题描述】:
我有 2 张桌子:
OriginTable:
ID | Monday | Tuesday | Wednesday
1 | 1 | 1 | 2
#ContrastTable:
ID | MoTotal | TuTotal | WeTotal
1 | 6 | 0 | 32
我想这样做:
Select ot.Monday, ot.Tuesday, ot.Wednesday From OriginTable ot
| 1 | 1 | 2
但我想编辑结果集,如果ContrastTable 中的 Total 为 0,它将用 0 替换 OriginTable 选择中当天的值.
一些 Crappy-SQL™ 看起来像这样(这只是为了证明我的意图,我知道这不起作用):
Select ot.Monday, Replace(ot.Tuesday, ot.Tuesday, (ct.TuTotal) `[if ct.TuTotal is 0]`), ot.Wednesday From OriginTable ot
Inner Join #ContrastTable ct on ot.ID = ct.ID
【问题讨论】:
-
我会在 ContrastTable 上使用 SIGN 并将其与 OriginTable 相乘。如果需要,我将在明天制定正确的答案。
标签: sql replace sql-server-2014