2014-09-01 107 views
-2

結合多行我運行一個查詢和我下面的表中獲取結果根據特定值

http://i.imgur.com/98u4ofl.jpg

對此輸出我想知道什麼是做以下最簡單的方法: 1)將每個季度的行分組,加上百分之百的小百分比作爲雜項。然後刪除從表中分組的行 2)連接orgType和terrName列以獲得一列

我正在考慮創建另一個臨時表並將數據插入這些行的路由,直到特定總和達成,然後插入雜項。隨着差異,但我認爲這個解決方案是混亂的,可能會容易出錯。

+0

組如果你downvote這個請大家發表意見,爲什麼讓我能從我的錯誤中學習。 – UbiNoob 2014-09-01 23:53:39

+0

我沒有倒下你。以下是一些需要注意的事項 - 給出示例表格和行,您嘗試使用的代碼,預期的和實際的輸出,您遇到的錯誤等。如果沒有這些,通常不可能幫助任何人。它很明顯,但很多人不這樣做。 – 2014-09-02 00:50:49

回答

0

答案比我預想的要容易得多; K.I.S.S適用於此。

,目前正在輸出如下初始表結構:

CREATE TABLE #terrDivision 
(
    RowID INT IDENTITY(1,1), 
    quartNYear nvarchar (14), 
    orgType nvarchar(30), 
    terrName nvarchar(1024), 
    IncidsInTerr INT, 
    percentOfTotal FLOAT 
) 

到percentOfTotal < 1我用這個

SELECT MAX(RowId) AS RowId, quartNYear, orgType, CASE WHEN percentOfTotal < 1.0 THEN 'Misc.' ELSE terrName END AS TerrName, 
       SUM(IncidsInTerr) AS IncidsInTerr, SUM(percentOfTotal) AS PercentOfTotal 
FROM #terrDivision 
GROUP BY quartNYear, orgType, CASE WHEN percentOfTotal < 1.0 THEN 'Misc.' ELSE terrName END 
ORDER BY quartNYear, orgType, CASE WHEN percentOfTotal < 1.0 THEN 'Misc.' ELSE terrName END