1. 使用的是Access数据库,不是SQL Server 2000。
2. 主表(表1)与子表(表2)均有一个ID字段来实现关联。主表的每条记录可能会有若干条对应的子表记录。子表除ID字段外还有A1和A2两个文本字段。
3. 如何用SelectSQL语句来实现查询结果:表1的ID字段 as 编号,表2的A1+A2 as 字符串。
注:A1+A2表示将表2的这两个文本字段内容相加。注:是想把子表对应上的每条记录的A1+A2都串起来,例如:主表某条记录对应子表的三条记录,则需要把子表的这三条记录的A1+A2都串加起来,且每个A1+A2之后跟一个分号用于间隔。

解决方案 »

  1.   

    如果写成以下这样,只是将对应的子表的头一条记录的A1+A2显示出来,若对应了多条记录就无法显示,关键是想把所有对应的记录的A1+A2都显示出来。
    select a.ID as 编号,b.A1+b.A2 as 字符串 from 表1 a,表2 b where a.ID=b.ID
      

  2.   

    --三个表的结构和内容
    select * from t1
    select * from t2
    select * from t3
    --修改表t3
    --alter table t3 add  idt int identity(1,1) --增加一个自增列
    --修改后的结构和内容
    select * from t3select id,exp1
    into #temp1 --查询的结果存临时表
     from
    (select a.id,exp1=a.exp1+isnull((select +','+exp1 from t3 where id=a.id and idt>a.idt),'')
    from t3 a)ta --执行查询
    select id ,exp1 from #temp1 a where exp1 =(select top 1 exp1 from #temp1 where id=a.id order by len(exp1) desc)
    --删除临时表
    drop table #temp1
      

  3.   

    --表t1
    id          
    ----------- 
    1
    2
    3(所影响的行数为 3 行)
    --表t2id          A                                B                                
    ----------- -------------------------------- -------------------------------- 
    1           a                                b
    1           x                                y
    2           a                                b
    3           c                                d(所影响的行数为 4 行)--增加自增列后的t3(修改前只有id 和exp1字段)
    id          exp1                                                      idt           
    ----------- ---------------------------------------------------------------- --------
    1           ab                                                               1
    1           xy                                                               2
    2           ab                                                               3
    3           cd                                                               4(所影响的行数为 4 行)
    --我在建立测试环境前,修改了t3,所以这里也是修改后的t3
    id          exp1                                                    idt              
    ----------- ---------------------------------------------------------------- --------
    1           ab                                                               1
    1           xy                                                               2
    2           ab                                                               3
    3           cd                                                               4(所影响的行数为 4 行)
    (所影响的行数为 4 行)id  exp1                                                                                                                                 
    ----------- -------------------------------------------------------------------------
    1           ab,xy
    2           ab
    3           cd(所影响的行数为 3 行)