情况这样,有一批ID  要在一张表中循环这个ID,找出这个ID对应的联系人。select id,联系人 from table  where id=参数但是1个ID 有可能对应多个联系人,且都不是同一个人。
如果我只取其中1条记录,只取一个联系人的信息 sql该怎么写?
就是假设参数是 1,正常查询结果是 
1-----------张三
1-----------李四
1-----------王五现在只要其中的任意一条,随便哪个。
如果保全信息的完整性,我希望把联系人拼起来,SQL又该怎么写?
查询结果是
1--------------张三,李四,王五

解决方案 »

  1.   

    select id,group_concat(联系人)  from table  where id=参数 group by id
      

  2.   


    select id,联系人 from table  where id=参数 limit 1;
      

  3.   

    select id,联系人 from table  where id=参数  limit 1;
      

  4.   

    问题补充下.........参数的ID 来自表A  ,张三李四这个是表Bselect a.id ,to_char(a.date,'格式') ,a.add ,b.name from 表A,表Bwhere a.id=参数a.id=b.idgroup by a.id这样不行
      

  5.   

    你这是oracle 还是 mysql ?
    to_char ???
      

  6.   

    俄.............是在oracle  不过应该无所谓吧..........mysql就是data_format而已
      

  7.   

    表A 和表B 关联的时候 如果表B的name字段拼起来 改怎么写
    1--------时间-------地址-------------张三,李四,王五
      

  8.   

    oracle 中没有 group_concat() ,需要用程序来实现。
      

  9.   

    那就mysql的话  改怎么写?针对我10楼 新提出的情况
      

  10.   

    在ORACEL中,没有现成的函数,用程序 OR SP来解决
      

  11.   

    那就用mysql呢  该怎么写?
      

  12.   

    oracal 没有limit,mysql才有。
    oracle里面有rownum。