2016-11-18 78 views
0

显示它在一排所以我需要证明与重复的记录数据到只有一行。SQL查询获取重复记录,并在GridView的

请参阅图像Record

员工有一个以上的工作,但我只需要看到amployees EMPNO,名字,姓氏,enity和位置,所以我只需要记录的一个排。

我尝试使用SELECT DISTINCT,但它不工作。

这里是我的代码

Protected Sub BindUsersGrid() 

    Dim Con As New SqlConnection 
    Con = getConn() 

    Dim ds As DataSet = GetRecord("SELECT DISTINCT MASTERID, USERID, EMPNO, LASTNAME, FIRSTNAME, ENTITY, LOCATION, EMAIL, BDATE, SEX, CONTACT_NO, IS_RESIGNED, LOCALNAME, " & _ 
            "REGION, COUNTRY " & _ 
            "FROM EMP_MASTERTBL " & _ 
            "ORDER BY LASTNAME, FIRSTNAME, MASTERID") 

    Me.myDataTable = ds.Tables(0) 
    Me.gvUsers.DataSource = Me.myDataTable 
    Me.gvUsers.DataBind() 
    Session("gvData") = myDataTable 

End Sub 

可能是什么问题,我的代码?你可以给我另一个想法或样本或其他代码来使用吗?

非常感谢。

+0

我没有看到你的查询有什么问题。这个实际查询的输出是什么?它为什么错了? –

+0

该查询的实际输出的是,我张贴的图像。它显示同一员工的两个记录或两行。我只需要获得一行相同的员工详细信息。 – chobowski

+0

哪个_columns_做你真正想要的结果集。你的'DISTINCT'应该只提到这些列。我的猜测是,你给我们展示的两条记录不是独特的,并且在一列或多列中不同(不在那些正在显示的列中)。 –

回答

1

当您执行SELECT DISTINCT时,数据库将返回不同于所有列的记录。这意味着,如果你想要的是关于4列重复的记录,但在选择5,那么你可以得到什么似乎是在结果集中的重复。从你告诉我们,以下查询可能是沿着你想要的:

SELECT DISTINCT EMPNO, LASTNAME, FIRSTNAME, ENTITY, LOCATION 
FROM EMP_MASTERTBL 
ORDER BY LASTNAME, FIRSTNAME