【问题标题】:The image data type cannot be selected as DISTINCT because it is not comparable图像数据类型无法选择为 DISTINCT,因为它不可比较
【发布时间】:2015-12-31 04:20:20
【问题描述】:

我想选择 DISTINCT StudentID 或记录,但查询显示以下错误

图像数据类型不能选择为 DISTINCT,因为它不是 可比的

数据库关系

这是我的代码:

ALTER PROCEDURE [dbo].[uspSELECTALL]


AS
BEGIN

    SET NOCOUNT ON;

    SELECT  DISTINCT(SI.StudentID),SI.Surname,SI.FirstName,SI.MiddleName, SI.StudAddress , 
            SI.BirthDay,SI.Gender, SI.Nationality, SI.BirthPlace,
            SI.TelNum,SI.SchoolWhereGraduated , 
            SI.DatesWhenGraduated, SI.SchoolLastAttended,
            SI.Note,SI.StudImage,
            PI.Father_FirstName,PI.Father_LastName,
            PI.Father_MI,PI.Father_Occupation, 
            PI.Father_TelNUm, PI.Mother_FirstName, PI.Mother_LastName,
            PI.Mother_MI,PI.Mother_Occupation,PI.Mother_TelNum,
            PI.Contact_FirstName,PI.Contact_LastName,PI.Contact_MI,
            PI.Contact_Mobile,PI.Contact_TelNum,PI.Contact_Address,
            SH.SchoolYear,SH.Levels,SH.Section,SH.DateEnrolled

            FROM StudentInformation SI 
            JOIN StudentHistory SH  
                ON SI.StudentID = SH.StudentID
            JOIN ParentInformation PI
                ON PI.ParentID = SI.ParentID


END

【问题讨论】:

  • 恐怕如果studentid是主键,那么同一个ID怎么会有多个值呢?
  • @utility ,是的 studentid 是主键,当学生有两个或更多历史时,这发生在我的datagridview 中。像这样。 Table
  • 为什么你这样做DISTINCT(SI.StudentID) 而不是这个? --> DISTINCT SI.StudentID, ?????????

标签: sql-server vb.net sql-server-2008-r2


【解决方案1】:

将您的图像转换为varbinary。然后就可以申请DISTINCT了。

【讨论】:

  • 感谢您的评论,我已经将我的专栏更改为 varbinary(max)。现在发生的情况是,当我的 studentHistory 表中有两条记录时,我的 datagridview 中的学生姓名也加倍。这不是我想要的。我只希望学生姓名只显示一次。 [链接](img2.uploadhouse.com/fileuploads/21902/…)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多