如果CompanyName跟你Distinct的数据是一一对应的,就再加一个order by ,并在选择列表中加上选择列表 否则就 select distinct max(CompanyName) CompanyName,选择列表 from 表 group by 选择列表 order by CompanyName
CompanyName跟Distinct不是一一对应的,而且Order By是从 @SQLString传进来的,要求可以Order By 任何一列, distinct max(ID) ID是Guid的,不能用Max 我用了两个临时表,但是最后发现原来的Order By被后面使用的Distinct打乱了,不再是原来的Order By 哪位大侠能帮我解决问题
问题已解决 Create Table #TempRecord (IndexID int IDENTITY (1, 1) NOT NULL,ID uniqueidentifier)Insert into #TempRecord (ID) exec('select [CompanyID] FROM View_Company' + @SQLString)Create Table #TempRecordTEMP (IndexID int IDENTITY (1, 1) NOT NULL,TempID int,ID uniqueidentifier)Insert Into #TempRecordTEMP(TempID,ID) EXEC('Select Max(IndexID)AS AA,ID From #TempRecord Group By ID Order By AA')
@SQLString传进来的,要求可以Order By 任何一列,
distinct max(ID)
ID是Guid的,不能用Max
我用了两个临时表,但是最后发现原来的Order By被后面使用的Distinct打乱了,不再是原来的Order By
哪位大侠能帮我解决问题
Create Table #TempRecord (IndexID int IDENTITY (1, 1) NOT NULL,ID uniqueidentifier)Insert into #TempRecord (ID) exec('select [CompanyID] FROM View_Company' + @SQLString)Create Table #TempRecordTEMP (IndexID int IDENTITY (1, 1) NOT NULL,TempID int,ID uniqueidentifier)Insert Into #TempRecordTEMP(TempID,ID) EXEC('Select Max(IndexID)AS AA,ID From #TempRecord Group By ID Order By AA')