table1
id name age
a  x    x
b  x    x
table2
id name age
a  x    x
c  x    x
d  x    x想取出
a
c
c
来问问有什么比较简单,快速的方法?

解决方案 »

  1.   

    结果搞错了吧?

    b
    c
    d
    ????是在sql中还是在c#中?
      

  2.   

    把两个表的数据合并到一个表table3里面,然后从table3里面remove掉table1(table和table2行少的表)的所有行,需要遍历下,可以这样试试~~
      

  3.   

    protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataTable dt1 = new DataTable();
                dt1.Columns.Add("id");
                dt1.Columns.Add("age");
                dt1.Columns.Add("name");
                dt1.Rows.Add("a1", "x", "x");
                dt1.Rows.Add("b1", "x", "x");            DataTable dt2 = new DataTable();
                dt2.Columns.Add("id");
                dt2.Columns.Add("age");
                dt2.Columns.Add("name");
                dt2.Rows.Add("a1", "x", "x");
                dt2.Rows.Add("c1", "x", "x");
                dt2.Rows.Add("d1", "x", "x");
                dt1.Merge(dt2);
                dt1.TableName = "test";
                DataRow[] dr = dt1.Select("id='a1' or id='b1' or id='c1' ", "id asc").Clone() as DataRow[];            DataTable temp = new DataTable();
                temp = dt1.Clone();
                for (int i = 0; i < dr.Length; i++)
                {
                    temp.Rows.Add(dr[i].ItemArray);//如果要去重的话,需要在此遍历temp,此处省略
                }            GridView gv = new GridView();
                gv.DataSource = temp;
                gv.DataBind();
                Form.Controls.Add(gv);
            }
        }
      

  4.   

    写错了
    最后要取出b c d
    不是sql
    在C#中实现
      

  5.   

    只是一个例子,其实table1,table2有很多数据,不可能像9楼说得那样,一个一个列举的