2013-10-21 41 views
0

您好我有2列的創建臨時表,我想基於按組和彙總功能SQL如何選擇兩個colums在使用聚合函數的臨時表

insert into #temp (TagName,TagIdentifier) 
select Tagname , 
    (case when charindex(':',TagClassDescription)> 0 
     then substring(TagClassDescription,1,(charindex(':',TagClassDescription)-1)) 
     end) as TagIdentifier 
from EXEC_REP_TransposedTagAttributes 
group by Tagname having count(tagname)>1 ; 

填補列,但它給人的因爲它不是在聚合函數或GROUP BY子句中包含以下錯誤


列「EXEC_REP_TransposedTagAttributes.TagClassDescription」在選擇列表中無效。

我在臨時表需要兩個值,並希望有TagIdentifiers價值爲基礎的count() >1

我的表需要幫助的這個

感謝

+0

如果您將'TagClassDescription'添加到'group by',它不會給你想要的東西嗎? –

回答

0

使用子選擇,像如下:

插入#temp(TagName,TagIdentifier)field1,field2 as(SELECT * FROM TransposedTagAtt ributes 其中標記名在 ( 組由標記名具有計數(標記名選擇標記名 FROM EXEC_REP_TransposedTagAttributes)> 1))

+0

預計在表中的記錄數不超過11​​000+,但我獲得超過20000+ – user2861354

+0

這就是子查詢正在選擇標記名,所以所有標記在表中重複兩次以產生雙重記錄 – user2861354

+0

AI-350004 \t AI AI-350004 \t NULL – user2861354

1

嘗試此最後一行

組由標記名具有計數(標記名)> 1, TagClassDescription