3个表,a,b,c,a表有id,aid,name,bid,b表有id,name,cid,c表有id,name
a表:                       b表:                         c表:
    id   name  bid             id   name   cid             id  name
  -------------------   -------------------------    -------------------
     1   001    1               1   aaaa    1               1   cccc
     2   001    1               2   bbbb    2               2   dddd
     3   001    2               
     4   002    2
     5   002    2
     6   002    3
     7   003    3
     8   003    3问题1:我想以a表的name做条件查询,比如"001",得到的数据是:
     
    id     name     name     name
-------------------------------------
    1      001     aaaa     cccc
    2      001     aaaa     cccc
    3      001     bbbb     dddd
问题2:我想以a表的name,c表的name做条件查询,比如"cccc",得到的数据是:    id     name     name     name
-------------------------------------
    1      001     aaaa     cccc
    2      001     aaaa     cccc
这样描述应该是清楚了,我该如何实现??

解决方案 »

  1.   

    问题中出现的name的顺序是 a.name , b.name , c.name 吗?
      

  2.   

    1.
    SELECT a.id,a.name,b.name,c.name WHERE (a.name = '001' AND b.id = a.bid AND c.id=b.cid)
      

  3.   

    1
    select a.id,a.name,b.name,c.name from a inner join b on a.bid=b.cid
    inner join c on a.bid=c.id WHERE a.name = '001'
    2
    select a.id,a.name,b.name,c.name from a inner join b on a.bid=b.cid
    inner join c on a.bid=c.id WHERE c.name = 'cccc'