A表:
  aid,name其中aid为主键
内容如下:
  1   aaa1   
  2   aaa2   
  3   aaa3   B表:
  bid,aid,bep 其中bid为主键,aid与A表中的aid对应(有重复)
内容如下:
  1   1   bep1
  2   1   bep2
  3   2   bep3C表:
  cid,aid,cep 其中cid为主键,aid与A表中的aid对应(有重复)
内容如下:
  1   1   cep1
  2   2   cep2
  3   2   cep3现希望得到如下查询结果:
  aid     name     bep      cep
    1     aaa1     bep1   
    1     aaa1     bep2    
    1     aaa1              cep1
    2     aaa2     bep3
    2     aaa2              cep2
    2     aaa2              cep3
    3     aaa3请问如何用sql 查询语句实现?我就差一点!可怎么也实现不了,最好能实现对每个字段的模糊查询和组合查询!遗憾的是只能给100分

解决方案 »

  1.   

    SELECT A.AID, A.NAME, B.BEP, C.CEP FROM 
    (
    (A LEFT JOIN B ON A.AID = B.AID) 
    LEFT JOIN C ON B.AID = C.AID
    )
      

  2.   

    a表是主表 
      假设是 一些单位b表和c表都是从表
      假设b表是 某些获得奖章的单位,每个单位都可以获得多次奖章
      假设c表是 某些获得处罚的单位,每个单位都可以获得多次处罚我需要获得的表就是首先获得所有单位的名称
      如果该单位有奖章列出所有获得奖章的情况
      如果该单位有处罚列出所有获得处罚的情况 
      

  3.   

    SELECT A.AID, A.NAME, B.BEP, '' AS CEP FROM A LEFT JOIN B ON A.AID = B.AID
    UNION
    SELECT A.AID, A.NAME, '' AS BEP, C.CEP FROM C LEFT JOIN A ON A.AID = C.AID应该是这个~~~~