关于两个SQL表多条信息的查询.

bailixia520 2011-08-24 08:32:26
假如有表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的内容显示出来,也要用循环查询吗?具体是怎么操作?
...全文
142 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bailixia520 2011-08-24
  • 打赏
  • 举报
回复
比如
我A表的数据是这样的
1 1
2 2
3 3

B表的数据是
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


zhihaokesion 2011-08-24
  • 打赏
  • 举报
回复
支持一下
木目子 2011-08-24
  • 打赏
  • 举报
回复
不明白你要表达什么意思!
bailixia520 2011-08-24
  • 打赏
  • 举报
回复
不知有没有别的办法可以把表A中的条数不变,只是把title的值有多个时一起显示在表A查询的结果上.
一楼的方法是把表B的当成一条新数据进行显示了
木目子 2011-08-24
  • 打赏
  • 举报
回复
select a.id as aid,b.id,b.tid,b.title from b
left join a on a.tid=b.tid
bailixia520 2011-08-24
  • 打赏
  • 举报
回复
没有明白楼上的语句.能否实例一些.我测试通不过.
autumnkiller 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 boojs 的回复:]

SQL code
select ...,group_concat(b.title separator '/') as title from .... left join ...
group by b.tid
[/Quote]
正解
xsxs89757 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 boojs 的回复:]

SQL code
select ...,group_concat(b.title separator '/') as title from .... left join ...
group by b.tid
[/Quote]
木目子 2011-08-24
  • 打赏
  • 举报
回复
LS牛淫,正解可用
BooJS 2011-08-24
  • 打赏
  • 举报
回复
select ...,group_concat(b.title separator '/') as title from .... left join ...
group by b.tid
木目子 2011-08-24
  • 打赏
  • 举报
回复
直接SQL好像没办法,另外left join的开销也比较大,建议分两步取

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧