暂无图片
ORACLE子表链接主表,主表的数据只显示在第一行怎么做到
我来答
分享
墨天轮-雪宝君
2021-07-14
ORACLE子表链接主表,主表的数据只显示在第一行怎么做到

像这种,子表链接主表,主表的数据只显示在第一行。

image.png

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
DarkAthena

一般来说,主表和子表关联,主表的数据会显示和子表一样的行数,而且会重复,我猜你的意思是,对于主表中的每一行记录,在结果中都只保留一条。

先说问题,从你这个格式中来看,如果有人对这个数据进行了排序,那么你就会丢失子表和主表的关系,如果非得用这个格式,建议至少要新增一个行号。

然后解决方案,你想要的是保留一条,换个角度其实就是,不是第一条的全部置为空。

首先用最基本的关联,然后用count() over(partiotion by 单据编号 order by 产品名称) 构造一列,在不改变行数的情况下,得到每张单据的子表行数,

再用decode或者case when 判断这个值,如果是1,那么就显示单据主表的值,如果不是,就显示空。

注意最后一定要按单据编号加产品名称排序

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle怎么弄模拟数据?
回答 1
可以使用DBeaver的企业版(网上有破解版),自己创建表结构,然后选中刚创建的表单机右键——工具——GenerateMockData,可以自动生成地址、邮件、姓名等数据。
请问 oracle 如何查找几分钟前网络输出流量最大的SQL?
回答 1
这两个无直接联系
RAC 某节点DB实例关了,还能在其它节点查GV$SESSION视图吗
回答 2
已采纳
可以查GV$SESSION视图,只不过会少了关闭节点的信息count(distinceinstid)减一
Oracle exadata一体机 怎么查看存储IO是否达到瓶颈?
回答 1
已采纳
每个版本都有说明。你压测一下是不是达到了他的理论值。从AWR中看看IO吞吐。
ORA-00942: 表或视图不存在 这个错误表示在当前用户的模式中找不到指定的表或视图?但是我这里有啊,还有什么其它的可能?
回答 2
已采纳
表或视图名称错误:请确保您输入的表或视图名称是正确的,并且大小写匹配。Oracle数据库是区分大小写的,所以表或视图名称的大小写必须与数据库中定义的一致。表或视图不在当前用户的模式中:请确保您使用的表
求一份常见Oracle故障模拟场景
回答 3
希望对你有帮助:https://www.modb.pro/db/52480?utmsourceindexai
如何将dg库变成单库,主备分离?
回答 2
我的理解是将ADG备库拉成可读可写的一个实例,和原来的主库没有关系对吧。那么,如下SQL则就可以做到。https://mp.weixin.qq.com/s/y45wtWdXEc0ocNu42MFmpA
下述规则适用于Oracle 11g 吗?
回答 1
已采纳
“过滤掉最大数量记录的条件必须写在WHERE子句的末尾.”这个是RBO的特色。CBO下已经不用了。你写在哪里都行。是不是末尾不重要。是末尾也行,不是也行。数据库优化器自己适配做出最优的执行计划。
物化视图可以定时刷新吗?
回答 1
你可以在以下篇文章中查看有关创建物化视图时指定刷新参数的各个细粒度解释,这应该可以解答你的问题,链接见下:https://docs.oracle.com/cd/E1188201/server.112/
在使用dataguard的时候,我执行了alter system set log_archive_dest_state_2='defer'后,备库还是能同步数据是怎么回事?
回答 2
已采纳
这里有两张图说明了DG的运行原理主库修改数据,记录写在redobuffer,主库的LNS进程会读取redobuffer内容,传递给备库;备库RFS进程接受传过来的数据,写进standbylog,然后将
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~