两个表存在重复记录,如何只显示一条记录

[复制链接]
查看11 | 回复9 | 2012-1-4 11:49:54 | 显示全部楼层 |阅读模式
本帖最后由 guess1975 于 2012-1-2 00:19 编辑
表 A
bianh mingc
001甲
002乙
003丙
004 丁
表B
bianh mingcpym
001 甲 J
002乙
Y
002乙
Y
如何这样显示:
bianh mingc pym
001甲J
002乙Y
003 丙
004丁

回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层
我知道了,谢谢大家
select * from 表A ,表B where 表A.bianh=b.bianh(+)
回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层



回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层



回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层
你知道了??明显达不了你要的效果嘛
肯定得剔重后join啊
回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层



回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层
minus
回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层
guess1975 发表于 2012-1-2 00:34
我知道了,谢谢大家
select * from 表A ,表B where 表A.bianh=b.bianh(+)

这样好像不对吧!*就把两个表中的所有列都显示出来了呀!
select A.mingc,b.pym from 表A,表B where A.bianh=b.biang(+);

回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层
union
回复

使用道具 举报

千问 | 2012-1-4 11:49:54 | 显示全部楼层
一对多的关系,直接join,肯定有多行显示的
明显B要按规则剔重,你可以用分析函数取第一行,如果有几个字段一样,取一个的话,如果都是全部一样的,直接distinct...
然后再join
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行