SELECT   dbo.ChangeNotes.Id, dbo.ChangeNotes.CNNo, dbo.ChangeNotes.PAeVNumber, dbo.ChangeNotes.KEMNumber, 
         dbo.ChangeNotes.ModelYearId, dbo.ChangeNotes.RelevantDoc, dbo.ChangeNotes.IsRunningChang, 
         dbo.ChangeNotes.RunningChangComments, dbo.ChangeNotes.IsTesterRelevant, 
         dbo.ChangeNotes.TesterRelevantComments, dbo.ChangeNotes.IsTryOutNecessary, 
         dbo.ChangeNotes.TryOutNecessaryComments, dbo.ChangeNotes.IsHomoAffected, 
         dbo.ChangeNotes.HomoAffectedComments,dbo.ChangeNotes.IsCCCAffected,
         dbo.ChangeNotes.CCCAffectedComments, 
         dbo.ChangeNotes.IsWeightChange, dbo.ChangeNotes.WeightChangeValue, dbo.ChangeNotes.OldPart, 
         dbo.ChangeNotes.ChangeReason, dbo.ChangeNotes.ChangeDesc,
         dbo.ChangeNotes.Initiator, dbo.[User].Name AS InitiatorName,    dbo.ChangeNotes.IntroductionAdvise,dbo.ChangeNotes.InitiationDate,
dbo.ChangeNotes.CommodityId, 
dbo.ChangeNotes.AttributeName1, dbo.ChangeNotes.AttributeName2, 
                dbo.ModelYear.Name AS ModelYearName, dbo.ChangeNotes.InitiatorDeptId, 
                dbo.Department.Name AS DepartmentName, dbo.Commodity.Name AS CommodityName, 
                dbo.Employee.Name AS EmployeeName, dbo.CNCarModels.CarModelId, dbo.Part.Number AS PartNo,
                
FROM            dbo.ChangeNotes LEFT OUTER JOIN
                dbo.ModelYear ON dbo.ChangeNotes.ModelYearId = dbo.ModelYear.Id LEFT OUTER JOIN
                dbo.[User] ON dbo.ChangeNotes.Initiator = dbo.[User].Id LEFT OUTER JOIN
                dbo.Department ON dbo.ChangeNotes.InitiatorDeptId = dbo.Department.Id LEFT OUTER JOIN
                dbo.Commodity ON dbo.ChangeNotes.CommodityId = dbo.Commodity.Id LEFT OUTER JOIN
                dbo.Employee ON dbo.[User].EmployeeId = dbo.Employee.Id AND 
                dbo.Department.Id = dbo.Employee.DepartmentId LEFT OUTER JOIN
                dbo.CNCarModels ON dbo.CNCarModels.CNId = dbo.ChangeNotes.Id LEFT OUTER JOIN
                dbo.Part ON dbo.Part.CNId = dbo.ChangeNotes.Id这个查询有很多重复项 用distinct消除重复项的时候就会报错 因为有text,ntext,image等数据类型,请问用什么方法可以消除重复

解决方案 »

  1.   

    cast(字段 as varchar(8000))
    select distinct a.A1,b.B2 from A a left join B b on a.A1=b.B1 
      

  2.   

    cast(字段 as varchar(8000))
    select distinct a.A1,b.B2 from A a left join B b on a.A1=b.B1 如果是image类型该怎么处理呢?我的要求是不使用存储过程!!!!!
      

  3.   

    image类型判断重复项??
    二进制distinct可能不行吧!!
      

  4.   

    cast(字段 as varchar(8000))这个就可以了
      

  5.   

    re:楼上的image 类型也用cast吗?