select 时的数据重复问题

hebin321 2008-03-13 09:03:48
多表查询时,大概5张表,我用select from wehere 这样的简单关联查询,结束出来一堆的重复数据,
用 left join on 和 inner join 的时候也会出现重复数据,
我的问题是:我在使用from where 或者是 left join 的时候应该遵循哪些原则才能避免数据重复呢??
PS:由于我的表字段太复杂就没有贴上来。请大家给点意见。谢谢了
...全文
224 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
you_tube 2008-03-14
  • 打赏
  • 举报
回复
可以选group by 分组,再关联就行了
qqhmitzk 2008-03-14
  • 打赏
  • 举报
回复
建立过硬的条件
各个分组再关联
dawugui 2008-03-13
  • 打赏
  • 举报
回复
多个字段关联就有可能出现迪卡尔积.

可对每个表先group by 分组,然后再关联.

如A(id , val)
B(id , aid , val)
select a.* , m.* from a,
(select t.* from B t where id = (select max(id) from B where aid = t.aid)) m
where a.id = m.aid
hebin321 2008-03-13
  • 打赏
  • 举报
回复
如果不是一一关联呢,同时多个字段关联
如 a.id =b.id
and a.name= b.name
ang a.number = b. number
这只是两张表的关联,其他表也差不多是这样的!!!
dawugui 2008-03-13
  • 打赏
  • 举报
回复
如果每个表都是一一关联的.

select a.* , b.* , c.* , d.* , f.*
from a,b,c,d,e
where a.id = b.id and a.id = c.id and a.id = d.id and a.id = e.id

34,838

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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