![](/img/trans.png)
[英]Query to update 1 column with no condition and another column only if certain condition is met
[英]SQL to update a Select Statement column based on another Columns value but only if condition is met
如果列task_status2
的值為Closed
,我有一個 select 語句,並希望將Task_Days_Due
更新為字符串( N/A - Task is Closed
)當前它顯示到期前的天數,但如果關閉則無關緊要。
這是當前的選擇:
SELECT
Report_Run_Date,
incident_number,
INC_Reported_Date,
TASK_id,
TASK_Assigneee,
TASK_Status, -- Staged 1000, Assigned 2000, Pending 3000, Work In Progress 4000, Waiting 5000, Closed 6000, ByPassed 7000
Task_Status2,
-- Set RAG column to RAG is not closed
case WHEN TASK_Status = 6000 THEN "N/A - Task is Closed"
WHEN Task_Days_Due <= 0 THEN 'Red'
WHEN Task_Days_Due > 0 and Task_Days_Due <= 7 THEN 'Amber'
WHEN Task_Days_Due > 7 THEN 'Green'
WHEN Task_Days_Due is NULL THEN 'No Task End Date'
end as Red_Amber_Green,
Task_Days_Due, ?????
我的挑戰是如果不滿足條件,我想保持原樣。 如果列task_status2
值未Closed
,則先前的嘗試將值覆蓋為 null
SELECT
Report_Run_Date,
incident_number,
INC_Reported_Date,
TASK_id,
TASK_Assigneee,
TASK_Status, -- Staged 1000, Assigned 2000, Pending 3000, Work In Progress 4000, Waiting 5000, Closed 6000, ByPassed 7000
Task_Status2,
-- Set RAG column to RAG is not closed
case WHEN TASK_Status = 6000 THEN "N/A - Task is Closed"
WHEN Task_Days_Due <= 0 THEN 'Red'
WHEN Task_Days_Due > 0 and Task_Days_Due <= 7 THEN 'Amber'
WHEN Task_Days_Due > 7 THEN 'Green'
WHEN Task_Days_Due is NULL THEN 'No Task End Date'
end as Red_Amber_Green,
decode(task_status2, 'Closed', 'N/A - Task is Closed', cast(task_days_due as STRING)) as task_days_due
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.