如果我理解你的問題,至少有兩種方法可以想到完成這件事;
第一種方式很簡單,如果你有很多分支,我會爲第二種方式添加一個case語句。
Select case SUBSTRING(cast(Branch.Id as varchar(10)), 1, 4)
when '0002' then 'Nashville'
when '0003' then 'Branch 03'
when '0004' then 'Branch 04'
else SUBSTRING(cast(Branch.Id as varchar(10)), 1, 4) end OrgName,
COUNT(*)
from Branch group by SUBSTRING(cast(Branch.Id as varchar(10)), 1, 4)
這第二個方式,您將有一個單獨的表來保存分行名稱等出於演示,我將調用此表OrgTable包含您的「0002」 ID的ORGID,幷包含「納什維爾」一ORGNAME。
Select OrgTable.OrgName, count(*)
from Branch
inner join OrgTable on (OrgTable.OrgId = SUBSTRING(cast(Branch.Id as varchar(10)), 1, 4))
Group By OrgTable.OrgName
我還沒有檢查過上面的SQL沒有語法錯誤,但希望你能得到圖片。
HTH,
您的需求非常混亂。你可以編輯你的問題,並使其更簡單(可能是列表點)。謝謝 – aMazing 2014-09-18 21:51:35