0

こんにちは、2 つの列を持つ一時テーブルを作成しています。group by と集計関数に基づいて列を埋めたいと考えています。

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 ;

しかし、次のエラーが発生します


列 'EXEC_REP_TransposedTagAttributes.TagClassDescription' は、集計関数にも GROUP BY 句にも含まれていないため、選択リストでは無効です。

一時テーブルに両方の値が必要で、値にTagIdentifiers基づいてテーブルに値を入れたいcount () >1

これについて助けが必要

ありがとう

4

2 に答える 2

0

次のようにサブセレクトを使用します。

#temp (TagName,TagIdentifier) field1, field2 as (SELECT * FROM TransposedTagAttributes where tagname in (SELECT tagname FROM EXEC_REP_TransposedTagAttributes group by Tagname has count(tagname)>1)) に挿入

于 2013-10-21T12:16:00.767 に答える