C#SQL的问题
我有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字段下面的名字
可能说的有些乱 大神帮忙看下 怎么弄 sql c#
[解决办法]
用子查询
select ta.*,(select top 1 tb.name from D tb where tb.parameterid = 'Status' and tb.parametervalue = ta.status) as dname from A ta大致是这样
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);