c# sqlserver 查询两个表中数据用datagridview 显示出来 老师出错 求大神指导

      string sql = " select   a.2, a.3, b.2, b.3 from a, b, c where a.1= c.1 and b.1 = c.1 ";   //查询语句太长 我就直接把意思表达出来 没有粘代码
                DataSet ds1 = new DataSet();
        DataTable dt = new DataTable ();
        DataSet ds2 = new DataSet();
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        da.Fill(ds1);

        dt = ds1.Tables[0].Copy();
                     ds2.Tables.Add(dt);
        dataGridView1.DataSource  = ds2.Tables[0];

你什么问题?dataGridView1显示不了数据吗,dataGridView1设置了列的字段对应了吗

sql粘上来,才知道

刚才发现是查询语句出错了 针对两张表直接没有直接关联,但是这两张表的主键分别是第三张表的外键,这时查询前两张表里的内容 怎么写优化一点的查询啊