行数基于文本搜索

时间:2016-02-24 09:57:32

标签: tsql

我正在使用设计糟糕的数据库的系统。

有一个屏幕记录不感兴趣的结果,其中包含“不感兴趣”的原因组合和自由文本评论部分。最后发生的事情是,在组合中选择的原因与原因文本连接起来。

在数据库上结束这个:

  public void getLength()
   {
    string connectionString = "Data Source=." + "\\SQLEXPRESS;Initial     Catalog=" + drlDatabases.SelectedItem.ToString() + ";User    Id=test2;Password=test2;Integrated Security=True";
    SqlConnection con = new SqlConnection(connectionString);

    string selectSql = "SELECT max_length FROM sys.columns WHERE object_id =   OBJECT_ID('" + drlTables.SelectedItem.ToString() + "')";

    SqlCommand cmd = new SqlCommand(selectSql, con);
    SqlDataReader r = null;

    try

    {
        con.Open();
        r = cmd.ExecuteReader();
        int val = 0;
        while (r.Read())
        {
            colLength[val] = r.GetInt32(val);
        }


    }

    catch (Exception ex)
    {
        lblex.Text = ex.Message;
    }

    finally
    {
        con.Close();
    }
}

计算每种理由使用次数的最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以这样做:

SELECT Reasons.column,count(*) 
FROM Reasons
INNER JOIN Comments ON(comments.Column like concat(''%',reasons.column,'%'')) 
GROUP BY Reasons.column