2017-02-16 62 views
0

有人可以帮助我如何实现以下目标吗?如何根据其他字段值为空值

我已经得到了以下结果:

APP ¦ CW ¦  DT  ¦ DAY 
--------------------------- 
SKL ¦ 05 ¦ 2017-02-03 ¦ FRI 
SKL ¦ 06 ¦ 2017-02-06 ¦ MON 
SKL ¦ 06 ¦ 2017-02-07 ¦ TUE 
SKL ¦ 06 ¦ 2017-02-08 ¦ WED 
SKL ¦ 06 ¦ 2017-02-09 ¦ THU 
SKL ¦ 06 ¦ 2017-02-10 ¦ FRI 
SKL ¦ 07 ¦ 2017-02-13 ¦ MON 
SKL ¦ 07 ¦ 2017-02-14 ¦ TUE 
XZU ¦ 05 ¦ 2017-02-03 ¦ FRI 
XZU ¦ 06 ¦ 2017-02-06 ¦ MON 
XZU ¦ 06 ¦ 2017-02-07 ¦ TUE 
XZU ¦ 06 ¦ 2017-02-08 ¦ WED 
XZU ¦ 06 ¦ 2017-02-09 ¦ THU 
XZU ¦ 06 ¦ 2017-02-10 ¦ FRI 
XZU ¦ 07 ¦ 2017-02-13 ¦ MON 
XZU ¦ 07 ¦ 2017-02-14 ¦ TUE 
WIO ¦ 05 ¦ 2017-02-03 ¦ FRI 
WIO ¦ 06 ¦ 2017-02-06 ¦ MON 
.. 
. 

而且,取代上述我希望得到这样的:

APP ¦ CW ¦  DT  ¦ DAY 
--------------------------- 
SKL ¦ ¦ 2017-02-03 ¦ FRI 
SKL ¦ 06 ¦ 2017-02-06 ¦ MON 
SKL ¦ ¦ 2017-02-07 ¦ TUE 
SKL ¦ ¦ 2017-02-08 ¦ WED 
SKL ¦ ¦ 2017-02-09 ¦ THU 
SKL ¦ ¦ 2017-02-10 ¦ FRI 
SKL ¦ 07 ¦ 2017-02-13 ¦ MON 
SKL ¦ ¦ 2017-02-14 ¦ TUE 
XZU ¦ ¦ 2017-02-03 ¦ FRI 
XZU ¦ 06 ¦ 2017-02-06 ¦ MON 
XZU ¦ ¦ 2017-02-07 ¦ TUE 
XZU ¦ ¦ 2017-02-08 ¦ WED 
XZU ¦ ¦ 2017-02-09 ¦ THU 
XZU ¦ ¦ 2017-02-10 ¦ FRI 
XZU ¦ 07 ¦ 2017-02-13 ¦ MON 
XZU ¦ ¦ 2017-02-14 ¦ TUE 
WIO ¦ ¦ 2017-02-03 ¦ FRI 
WIO ¦ 06 ¦ 2017-02-06 ¦ MON 
.. 
. 

所以我想为null“CW”列当“DAY”不是“MON”时。这应该有一个简单的解决方案,但直到我还没有找到办法做到这一点。

在此先感谢。

+5

这是可能的,但由于这是一个演示文稿的问题做的更好程序中的逻辑 –

+1

'情况下,当DAY =“MON”,那么CW年底为cw',但我同意@ juergend的评论。 – jarlh

+0

@mathguy,这种情况下的表达意图成为​​SELECT的一部分。不要修改表值。 – jarlh

回答

2

您正在寻找CASE

select APP, 
    case when day = 'MON' then CW end cw, 
    DT, 
    DAY 
from your_table; 
相关问题