select a.etId, a.Name,bcodeCont,ccodeCont,dcodeCont,ecodeCont
from etInfo  a,
(select group_concat(codeCont) as bcodeCont from codetable where codeId in (select areaId from arealink where etId in ('et001','et002'))) b,
(select group_concat(codeCont) as ccodeCont from codetable where codeId in (select busiProId from busiprolink where etId in ('et001','et002'))) c,
(select group_concat(codeCont) as dcodeCont from codetable where codeId in (select hotUseId from hotuselink where etId in ('et001','et002'))) d,
(select group_concat(codeCont) as ecodeCont from codetable where codeId in (select budgetId from budgetlink where etId in ('et001','et002'))) e
where a.etId in ('et001','et002')
----------------------------------------------------------
现在结果:
etId     bcodeCont  ccodeCont  dcodeCont          ecodeCont
etId001  中山区     烧烤,自助  随便吃吃,家庭聚餐  201-300,301-400
etId002  中山区     烧烤,自助  随便吃吃,家庭聚餐  201-300,301-400----------------------------------------------------------
想要结果:
etId     bcodeCont  ccodeCont  dcodeCont   ecodeCont
etId001  中山区     烧烤       随便吃吃     201-300
etId002  中山区     自助       家庭聚餐     301-400

解决方案 »

  1.   

    select a.etId, a.Name,bcodeCont,left(ccodeCont,instr(ccodeCont)-1),left(dcodeCont,instr(dcodeCont)-1),left(ecodeCont,instr(ecodeCont)-1) 
    from etInfo  a, 
    (select group_concat(codeCont) as bcodeCont from codetable where codeId in (select areaId from arealink where etId in ('et001','et002'))) b, 
    (select group_concat(codeCont) as ccodeCont from codetable where codeId in (select busiProId from busiprolink where etId in ('et001','et002'))) c, 
    (select group_concat(codeCont) as dcodeCont from codetable where codeId in (select hotUseId from hotuselink where etId in ('et001','et002'))) d, 
    (select group_concat(codeCont) as ecodeCont from codetable where codeId in (select budgetId from budgetlink where etId in ('et001','et002'))) e 
    where a.etId in ('et001','et002') 
      

  2.   

    这位大哥,instr是什么啊??
    我是MySQL数据库,instr是MySQL关键字吗?
      

  3.   

    另:'et001','et002'这个ID不是固定的,可能会有多个,
    但 a--e 同一次查询ID的都是一样的。
      

  4.   

    mysql> select instr("abcde",'a');
    +--------------------+
    | instr("abcde",'a') |
    +--------------------+
    |                  1 |
    +--------------------+
    1 row in set (0.00 sec)mysql> select instr("abcde",'b');
    +--------------------+
    | instr("abcde",'b') |
    +--------------------+
    |                  2 |
    +--------------------+
    1 row in set (0.00 sec)mysql> select instr("abcde",'v');
    +--------------------+
    | instr("abcde",'v') |
    +--------------------+
    |                  0 |
    +--------------------+
    1 row in set (0.00 sec)mysql> select instr("abcde",'c');
    +--------------------+
    | instr("abcde",'c') |
    +--------------------+
    |                  3 |
    +--------------------+
    1 row in set (0.02 sec)mysql> select instr("abcde",'d');
    +--------------------+
    | instr("abcde",'d') |
    +--------------------+
    |                  4 |
    +--------------------+
    1 row in set (0.00 sec)
      

  5.   

    ACMAIN_CHM:
    有QQ吗?给你发建表文。
      

  6.   

    QQ没有,你可以把create table 。。语句贴上来,然后仅提供一些测试数据 insert into 语句。
    这样其它人就可能在本机建立和你相同的测试环境了。
      

  7.   

    那楼上有没有照片啊?
    http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/13.gif