假如有表A和表B
A表中有id,tid
id 值 从1-200
tid的值 是1-200表B中是按tid的值存放的多条数据
B表中有id,tid,title
id 1-200
tid 不固定值,值的来源于表A,有相同的值,可能有两个或者10个不等;
title 要取此字段的值显示现在问题时.我只能按A表进行循环输出的同时查询B表中对应的tid内容,但是因为B表有多条内容,我要根据tid才能查询到多条title的内容显示出来,也要用循环查询吗?具体是怎么操作?

解决方案 »

  1.   

    select a.id as aid,b.id,b.tid,b.title from b
    left join a on a.tid=b.tid
      

  2.   

    不知有没有别的办法可以把表A中的条数不变,只是把title的值有多个时一起显示在表A查询的结果上.
    一楼的方法是把表B的当成一条新数据进行显示了
      

  3.   

    比如
    我A表的数据是这样的
    1 1
    2 2
    3 3B表的数据是
    1 1 test
    2 1 test2
    3 2 system
    4 1 test1我现在是要循环A表出来的数据显示如下1 1 test/test2/test1
    2 2 syste而不是显示这样
    1 1 test
    1 1 test2
    1 1 test1
    2 2 system
      

  4.   

    直接SQL好像没办法,另外left join的开销也比较大,建议分两步取
      

  5.   

    select ...,group_concat(b.title separator '/') as title from .... left join ...
    group by b.tid