C# SQLC过滤相似的记录

C# SQLC过滤相似的记录,c#,sql,asp.net,sql-server-express,C#,Sql,Asp.net,Sql Server Express,这个问题和我以前问过的一个问题有关,但我需要一些帮助 我有一个兴趣表,它存储求职者和雇主的兴趣 利息表如下所示: int_id FK_is_ID FK_ie_ID FK_ic_ID ------------------------------------- 1 2 null 3 2 2 null 5 3 null 1 3 4

这个问题和我以前问过的一个问题有关,但我需要一些帮助

我有一个兴趣表,它存储求职者和雇主的兴趣

利息表如下所示:

int_id   FK_is_ID  FK_ie_ID  FK_ic_ID
-------------------------------------
1           2          null      3
2           2          null      5
3           null       1         3
4           null       3         1
5           null       2         5
6           4          null      1
6           3          1         2

FK_is_id = Seeker ID
FK_ie_id = Employer ID
FK_ic_id = Category ID
因此,当一个求职者登录时,我试图检索与登录的求职者有相似兴趣的雇主名称

我有一个工作正常的代码,给出了我想要的输出

SqlConnection myConn2;
SqlCommand myCommand2;
SqlDataReader myReader2;
String SQL2, divjobs;

myConn2 = new SqlConnection(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
divjobs = "<ul>";
myConn2.Open();
SQL2 = "SELECT ins.int_id, ins.FK_is_ID, ine.FK_ie_ID,emp.e_name,ine.int_id FROM  Interests ins INNER JOIN Interests ine ON ins.FK_ic_ID = ine.FK_ic_ID FULL OUTER JOIN employers emp ON emp.e_id=ine.FK_ie_id WHERE  ins.FK_is_ID = @sid  AND ine.FK_ie_ID IS NOT null order by emp.e_name ASC";

myCommand2 = new SqlCommand(SQL2, myConn2);
myCommand2.Parameters.AddWithValue("@sid", ssid);

myReader2 = myCommand2.ExecuteReader();

if (myReader2.HasRows)
{
    while (myReader2.Read())
    {
        divjobs = divjobs + "<li>" + "<a href='../employers/viewemployer.aspx?EID=" + myReader2["FK_ie_id"] + "'>" + "<div class='jtitle'>" + myReader2["e_name"] + "</div>" + "</li>";
    }
    divjobs = divjobs + "</ul>";
    joblist.InnerHtml = divjobs;
}
else
{
    joblist.InnerHtml = "<div style='font-weight:bold;padding:20px;font-size:1.2em;background-color:white;'>"+ "Looks like there is nothing to load!" + "</div>";
}

myConn2.Close();
唯一的问题是,如果一个雇主有两个兴趣,那么输出会给出两个相同的雇主名称!我只想让它来一次


不管怎样,如果有任何帮助,我们将不胜感激

目前,您的结果处于兴趣级别,但您确实希望它位于雇主级别-以下将返回具有匹配兴趣的雇主的不同列表-我还为每个人抛出了匹配兴趣的汇总计数:

SELECT
    ins.FK_ie_ID,
    emp.e_name,
    COUNT(ins.int_id) AS InterestCount
FROM
Interests ins 
INNER JOIN 
Interests ine 
    ON ins.FK_ic_ID = ine.FK_ic_ID 
INNER JOIN 
employers emp 
    ON emp.e_id = ine.FK_ie_id 
WHERE  
    ins.FK_is_ID = @sid  
GROUP BY 
    ins.FK_ie_ID,
    emp.e_name
order by emp.e_name ASC
我希望我正确地解释了你想要的


另外,我发现你的专栏命名非常难处理。因此,查询中很可能会出现输入错误。它们如此神秘是有原因的吗……或者,它们是不是超出了您的控制范围?

谢谢。。这就是我想要的。。。至于列名,我只是随机给它们命名lol