sql多表排除重复

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:50:24
表1 sq_user
字段:id,sname
内容:
1,张三
2,高成

表2 sq_panme
字段:id,pname,uid(关联表1的id)
内容:
1,美女相片11
2,我的相片,1
3,搞笑相片,2
4,创意相片,2

表3 sq_photo

字段:id,img,rid(关联表2的id)
内容:
1,aaaaaaaaaa.gif,1
2,aaaaaaaaaa.gif,1
3,aaaaaaaaaa.gif,1
4,aaaaaaaaaa.gif,1
5,aaaaaaaaaa.gif,2
6,aaaaaaaaaa.gif,2
7,aaaaaaaaaa.gif,2
8,aaaaaaaaaa.gif,2
9,aaaaaaaaaa.gif,3
10,aaaaaaaaaa.gif,3
11,aaaaaaaaaa.gif,3
12,aaaaaaaaaa.gif,3

现在要读取10张图片,每个用户只能读取一张
写了一天了,没有结果。试过group by 失败(郁闷)
解决立马给分,在线等,谢谢
得出的结果就是
张三,我的相片,aaaaaaaaaa.gif
高成,搞笑相片,aaaaaaaaaa.gif

回答~逐月追心 分析结果:还是把所有用户多个取出了如:
张三,我的相片,aaaaaaaaaa.gif
张三,我的相片,aaaaaaaaaa.gif
张三,我的相片,aaaaaaaaaa.gif

回答~~powerboy4969
第二个SQ语句
列前缀 't1' 与查询中所用的表名或别名不匹配。
服务器: 消息 107,级别 16,状态 1,行 1
列前缀 't2' 与查询中所用的表名或别名不匹配。

select sname,pname,img
from sq_user u
join sq_panme p
on u.id=p.uid
join sq_photo h
on h.rid=p.id

在要读取10张图片,每个用户只能读取一张
写了一天了,没有结果。试过group by 失败(郁闷)什么意思?为毛要分组?

select distinct sname,pname,img
from sq_user u
join sq_panme p
on u.id=p.uid
join sq_photo h
on h.rid=p.id
你把表弄的那么多冗余做什么啊?数据库大忌讳之一