我試圖在我的存儲過程中創建一個計算的字段。我有一個projectID
列和3列,其中對應於受影響區域的「是」或「否」值。我必須收集所有「是」值,並將相應區域的名稱插入名爲RegionImpacted
的新字段。可能有多個區域受到影響。從3個其他字段計算的字段T-SQL
0
A
回答
0
巢式病例陳述人建議將工作,但他們變得非常複雜非常快,如果你需要,因爲他們的成倍增加的複雜性增加額外的區域。例如,在實現嵌套的case語句解決方案之前,請考慮它們在6個區域中的樣子。我更喜歡串聯的案例陳述方法。
DECLARE @Region1 CHAR(3)
, @Region2 CHAR(3)
, @Region3 CHAR(3)
, @Result VARCHAR(128)
SET @Region1 = ' NO'
SET @Region2 = ' NO'
SET @Region3 = ' NO'
SELECT Regions = CASE WHEN (@Region1 = ' NO'
AND @Region2 = ' NO'
AND @Region3 = ' NO'
) THEN 'None'
ELSE CASE @Region1
WHEN 'YES' THEN 'Region1 '
ELSE ''
END
+ CASE @Region2
WHEN 'YES' THEN 'Region2 '
ELSE ''
END
+ CASE @Region3
WHEN 'YES' THEN 'Region3 '
ELSE ''
END
END
0
聽起來像你需要以下內容。您需要將其格式化爲您的列,然後顯示您想要顯示的內容。
case when [apac]='YES' then
case when [latam]='YES' then
case when [emea]='YES' then 'A/L/E'
else 'A/L' end
else
case when [emea]='YES' then 'A/E'
else 'A' end
end
else
case when [latam]='YES' then
case when [emea]='YES' then 'L/E'
else 'L' end
else
case when [emea]='YES' then 'E'
else 'NONE' end
end
end
0
如果我理解正確
declare @T table (ID int, APAC varchar(3), LATAM varchar(3), EMEA varchar(3))
insert into @T values
(1, 'No', 'No', 'No'),
(2, 'Yes', 'No', 'No'),
(3, 'No', 'Yes', 'Yes'),
(4, 'Yes', 'Yes', 'Yes')
select
ID,
APAC,
LATAM,
EMEA,
coalesce(stuff(
case when APAC = 'Yes' then ',APAC' else '' end +
case when LATAM = 'Yes' then ',LATAM' else '' end +
case when EMEA = 'Yes' then ',EMEA' else '' end,
1, 1, ''), 'none') as RegionNames
from @T
結果
ID APAC LATAM EMEA RegionNames
----------- ---- ----- ---- ----------------
1 No No No none
2 Yes No No APAC
3 No Yes Yes LATAM,EMEA
4 Yes Yes Yes APAC,LATAM,EMEA
+0
但是有沒有什麼方法可以顯示「none」incase所有區域都說不。 – Avinash
+0
@Avinash是的。更新了答案。 –
相關問題
- 1. 從2個其他字段計算字段值
- 2. PHP/MYSQL:我如何計算字段+其他字段+其他字段的值
- 3. Django基於formset中的兩個其他字段計算字段
- 4. 從3個字段計算的日期
- 5. SSRS:根據其他字段和條件計算的字段
- 6. 創建一個字段,其值是其他字段值的計算
- 7. 根據其他字段作出計算字段
- 8. 創建計算字段形式其他模型字段
- 9. 可以根據其他字段計算字段嗎?
- 10. 更新字段與硬核和計算字段在TSQL
- 11. Django:如何計算來自其他兩個字段的字段的初始值?
- 12. 從第三個字段中的兩個字段計算值
- 13. Java - 調用從其他類計算字段的方法
- 14. 其他字段
- 15. 在其他表中計算一個表的字段
- 16. 計算字段
- 17. 計算字段
- 18. 計算字段
- 19. 女士訪問:從其他表中計算字段
- 20. Sitecore:基於其他字段的字段
- 21. mysql'插入後'觸發器來計算基於其他字段的字段
- 22. 在SQL Server中使用其他計算字段中的選擇字段
- 23. MVC 3字段必填,如果其他字段填充
- 24. 如何從計算函數內部更新其他字段或其他模型?
- 25. 基於其他字段中的條件計數字段
- 26. 如何重新計算字段,如果其他字段已更改爲
- 27. Django admin - 如何根據其他模型字段值計算字段值
- 28. Sparkpost其他字段
- 29. 記錄字段覆蓋其他字段
- 30. 更新字段,其中一個日期字段小於其他日期字段
你想插入到單個列在多個區域的影響是什麼? –
告訴我們你到目前爲止的情況......一對夫婦的桌子和柱子會很好。 – DefyGravity
這些地區是亞太地區,拉丁美洲和歐洲,中東和非洲地區。我必須在新字段中帶一個是的列名。它有一張名爲Projects的表格..它有4個帶有projectID的列,這三個區域有yes或no ..我必須用區域的名稱做一個第四個字段.. – Avinash