我正在检查唯一编号并将数据放入临时表中。 下表显示了VarientSKU,它是独一无二的。 现在我想将此表与另一个表联系起来。为此我需要唯一的列,在我的表[ItemId]中是唯一的表。所以我想在临时表中添加[ItemId]
alter Proc spIsUnique
@columnname nvarchar(max),
@tablename nvarchar(max)
As
Begin
declare @result nvarchar(max)
set @result = 'select ItemId,IIf (count(VariantSKU)>1 or
count(VariantSKU)=0,''False'',''True'') as [IsUnique-check]
INTO ##dq_IsUnique from '+@tablename+'
group by '+@columnname+';'
print @result
exec sp_executesql @result
End
我收到此错误
Msg 8120, Level 16, State 1, Line 185
Column 'Product.ItemId' is invalid in the select list because it is not
contained in either an aggregate function or the GROUP BY clause.
当我在groupby中同时使用@Columnname和ItemID时...它显示了所有唯一值,但很少有不是唯一值 请解决这个问题..
答案 0 :(得分:0)
我不知道您的数据,但是MAX或MIN功能可能适合您。
declare @result nvarchar(max)
set @result = 'select MAX(ItemId) ItemId ,IIf (count(VariantSKU)>1 or
count(VariantSKU)=0,''False'',''True'') as [IsUnique-check]
INTO ##dq_IsUnique from '+@tablename+'
group by '+@columnname+';'