select A.id,A.name,A.basename,A.num,B.basename,B.num,C.basename,C.num
from test A left join test B on A.id=B.id left join test C on A.id=C.id
Where A.basename!=B.basename and  A.basename!=C.basename and  C.basename!=B.basename and A.baseid<B.baseid and B.baseid<C.baseid

解决方案 »

  1.   

    用union 将多个表的查询进行连接
      

  2.   

    select id,name,max(case basename when '广州' then basename end),
                   max(case basename when '广州' then num end),           
                   max(case basename when '上海' then basename end),
                   max(case basename when '上海' then num end),              
                   max(case basename when '北京' then basename end),
                   max(case basename when '北京' then num end)
    from test
    group by id,name
      

  3.   

    很不错,非常感谢,但是这两种写法在access 中都不能执行啊,sqlserver 下是好的,哪位大虾能帮我写一个可以在access 中执行的