base表:
id、name
1、陈
2、张sub表:
id、code
1、40
1、50
2、60级联查询:select base.*,sub.* from base inner join sub on base.id=sub.id where sub.code<55;
这样查询出来的结果有两行数据,我想只保留一行,并把它fill到dataset去,只保留base表的数据这样的sql要怎么写?给dataset赋值要怎么做?

解决方案 »

  1.   

    slect Distinct a.id,a.name,b.id,b.name from base as a,sub as b where b.code<55 and a.id=b.id
    试试
      

  2.   

    小于55当然是2行,想要一行数据,那小于45好了,或者吧dataset绑上数据之后在删除一行
    DataSet ds = "读取数据源";
    ds.Tables[0].Rows.Remove(ds.Tables[0].Rows[1]);//Rows[1]是第二行,0是第一行
      

  3.   

    我说的不够明白
    我的意思是:查询sub表中符合条件的记录,id不重复的,因为在base表中是一条记录
      

  4.   

    select top 1 * from(select a.id,a.name,b.id,b.name from base as a,sub as b where b.code<55 and a.id=b.id)?你不会是这个意思吧?