left join 多表查询出现重复

haonsn 2014-04-23 08:31:05
共有四个表,分别是A、B、C、D四个表
其中A表是用户表,字段分别是:
ID name userid
1 aaaa 10001
2 bbbb 10002
3 ccccc 10003

B表是第一类产品表,字段分别是:
ID title time userid
1 标题1 2014-1-1 10002
2 标题2 2014-1-2 10002
3 标题3 2014-1-2 10001
4 标题4 2014-1-3 10002
5 标题5 2014-1-3 10003
..................................................(多条数据)

C表是第二类产品表,字段分别是:
ID title time userid
1 标题1 2014-1-1 10001
2 标题2 2014-1-2 10003
3 标题3 2014-1-2 10004
4 标题4 2014-1-3 10002
5 标题5 2014-1-3 10001
..................................................(多条数据)

D表是第三类产品表,字段分别是:
ID title time userid
1 标题1 2014-2-3 10003
2 标题2 2014-2-1 10001
3 标题3 2014--2-1 10003
4 标题4 2014-2-9 10002
5 标题5 2014-2-8 10001
..................................................(多条数据)

如何通过多表left join 关联查询而同一个字段内的数据不重复?

我是这样写的:

select a.*,b.title as btitle,b.time as btime,c.title as ctitle,c.time as ctime,d.title as dtitle,d.time as dtime from a表 as a left join B表 as b on a. userid=b.userid left join C表 as c on a.userid=c.userid left join D表 as d on a.userid = d.userid

这样查出后,字段中的标题出现重复,请教如何才能不出现重复呢?
...全文
10032 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qweqwesx1 2015-12-24
  • 打赏
  • 举报
回复
这个问题我也遇到了,简单说就是A LEFT JOIN B LEFT JOIN C LEFT JOIN D 如果发现部分数据存在重复的现象,那说明B,C,D中的关联词一定有存在不唯一的现象。 left join虽然是左对齐,但是如果右侧出现两条,而且SQL并没有说明要右侧的哪条的情况下,结果会将右侧两条都匹配出来。 帖子过去很远了,很远了。。
AHUA1001 2014-05-07
  • 打赏
  • 举报
回复
我的经验是写子查询,让子表和主表的关联关系是唯一的,可以考虑用group by。
壮壮老师 2014-04-30
  • 打赏
  • 举报
回复
没法去掉重复啊,因为他们组合起来确实不是同一条记录
ACMAIN_CHM 2014-04-24
  • 打赏
  • 举报
回复
期望得到的结果什么? 如果仅是随便的唯一,则可以使用 group by select a.*,b.title as btitle,b.time as btime,c.title as ctitle,c.time as ctime,d.title as dtitle,d.time as dtime from a表 as a left join B表 as b on a. userid=b.userid left join C表 as c on a.userid=c.userid left join D表 as d on a.userid = d.userid group by a.ID
haonsn 2014-04-24
  • 打赏
  • 举报
回复

要求的结果如图所示。
haonsn 2014-04-24
  • 打赏
  • 举报
回复
顶上去。!!!!
WWWWA 2014-04-24
  • 打赏
  • 举报
回复
要求结果贴出来看看
haonsn 2014-04-24
  • 打赏
  • 举报
回复
我要得到所有会员关联的数据,但各单独字段的标题不能重复。如果按版主所说的加group by a.ID 那么就只能搜索出每个会员唯一的一条数据了,而我是要搜索出对应会员的所有数据,前提是各字段的标题不能重复。

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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