我有2个表 表A 表D 
表A有个Status字段 值是 9 
表D 有 ID Value Name  3个字段
表D.ID字段下面 有个Status
表A.Status = 表B.ID里面的Status
我在C#代码里面想让 SQL执行完后 表A.Status 的值‘9’  显示为 B.ID的Status对应的 Name字段下面的名字
可能说的有些乱 大神帮忙看下 怎么弄sqlc#

解决方案 »

  1.   

    你能直接把表的结果的值发出来吗?
    我不理解表D.ID字段下面 有个Status是什么 意思
      

  2.   

    你是想连表查询吧select a.Status,d.Name from T_A as a join T_D as d on a.Status=d.Id
      

  3.   

    我发个图吧·
    这是表A 有个Status的字段
    这是表D里面有个 ID的字段 里面有个Status我就想让 我在页面上查询的时候 能显示出来 那个表D里面status所对应的 Name值 而不是9
      

  4.   

    Select D.Name From A,D Where A.Status=D.ParameterValue
      

  5.   

    "SELECT * FROM 表名 WHERE ID = 9";这是很正常的查询不是?查出来后怎么处理...再说
      

  6.   

    用子查询
    select ta.*,(select top 1 tb.name from D tb where tb.parameterid = 'Status' and tb.parametervalue = ta.status) as dname from A ta
    大致是这样
      

  7.   

    我有点蒙了。你的意思是不是D.Name怎么打印到页面上显示?使用as别名就可以了。select D.Name as Status from A,D where ParameterID='Status' and A.Status=D.ParameterValue
                string status = "";
                string connstr = @"Data Source=.;Initial Catalog=MyDB;Integrated Security=True";
                using (SqlConnection conn = new SqlConnection(connstr))
                {
                    conn.Open();
                    using (SqlCommand com = conn.CreateCommand())
                    {
                        com.CommandText = "select D.Name as Status from A,D where ParameterID='Status' and A.Status=D.ParameterValue";
                        DataSet dataset = new DataSet();
                        SqlDataAdapter adapter = new SqlDataAdapter(com);
                        adapter.Fill(dataset);
                        DataTable dt = dataset.Tables[0];
                        DataRow row = dt.Rows[0];
                        status = Convert.ToString(row["Status"]);
                    }
                }
                MessageBox.Show(status);