暂无图片
Orcle 查询报表,从A账套查询出的结果,想要模糊匹配到B账套,怎么进行模糊匹配啊
我来答
分享
暂无图片 匿名用户
Orcle 查询报表,从A账套查询出的结果,想要模糊匹配到B账套,怎么进行模糊匹配啊

如题,想要A,B账套关联进行查询。两个账套采购入库单和出库单除了多两个字母,其它都是一样的,这样要如何进行匹配呢?

代码如下:

第一段: 

        为了查询出采购入库单的单号

        select 单号 from (

select pi_inoutno 单号,ba_sourcebatch 原始批号,pd_pdno 序号,pd_ordercode 采购单号 from YHND_SZ.ProdIODetail
left join YHND_SZ.prodinout on pd_piid=pi_id
left join YHND_SZ.batch on ba_code=pd_batchcode
where ba_sourcebatch=(
select 原始批号 from (
select pi_inoutno 单号,pd_batchcode 批号,pd_pdno 序号, ba_sourcebatch 原始批号 from YHND_SZ.ProdIODetail
left join YHND_SZ.prodinout on pd_piid=pi_id
left join YHND_SZ.batch on ba_code=pd_batchcode
where pi_class='出货单' and pi_invostatus='已审核' and pi_inoutno='SZCK22081007')
)and pi_class='采购验收单' and pi_invostatus='已审核'
)


第二段,想要根据第一段的查询结果,进行与B账套的出库单匹配。(目前给的固定条件,后续应该要取消)

select pi_inoutno 单号,pd_batchcode 批号,pd_pdno 序号 from YHND_HK.ProdIODetail
left join YHND_HK.prodinout on pd_piid=pi_id
where pi_class='出货单' and pi_invostatus='已审核' and pi_inoutno like ''


到这个地方就不知道怎么写了

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
刘贵宾

把第一段写成视图,然后和第二段关联查询怎么样呢

CREATE VIEW view_name AS select 

暂无图片 评论
暂无图片 有用 0
打赏 0
DarkAthena

如果单号有规则,可以用substr或者replace把那两个字母去掉,即可用等值关联。
模糊关联的话,

字段a like '%'||字段b||'%'
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
张sir

把第一部分写成视图或者用子查询或者用with,后面就是关联查询:



SQL> select * from test1;

ID NAME
---------- ----------
1 dc
2 bb

SQL> select * from test;

ID NAME
---------- ----------
1 ab
2 ab
3 dc

SQL> select a.* from test1 a,test b where a.name like '%'||b.name||'%';

ID NAME
---------- ----------
1 dc

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


请输入正文
提交
相关推荐
latch: parameter table management latch free 导致cpu100%
回答 2
确实如此,故障发生时候台过关注latch本省了
Oracle12.1.0.2,数据库经常夜里4点多就宕机了
回答 7
alert日志里面很明显是job的问题Errorsinfile/u01/Oracle12c/diag/rdbms/orcl/orcl/trace/orclj00010109.trc:ORA12012:
表空间数据文件没有充分利用
回答 15
不是真实的,真实是65.94%。前提是剩余的存储支持这个表空间扩展到78.65G
Oracle与其他关系型数据库中的临时表,有什么区别?
回答 1
已采纳
Oracle与其他关系型数据库中的临时表非常类似,但有一个主要区别:Oracle的临时表是“静态”定义的。在Oracle数据库中只需要创建一次就可以了,无需在存储过程中,让它每次运行的时候都创建一次临
Oracle dg备库restore后 启用实时同步,但是日志没应用
回答 3
有gap解决gap,如果是要开启ADG检查一下standbyredolog
数据库作业执行如何使用当前用户执行
回答 1
不使用user来获取当前的用户,使用vcurrentuser:syscontext('USERENV','CURRENTUSER');这种方式获取当前用户给一个变量dbmsstats.gatherta
19c rac dbca异常
回答 3
暂无文字回复
请教一SQL(生成时段序列,Oracle数据库)
回答 1
已采纳
variableavarchar2(10);exec:a:'20200507';witht1as(selectaddmonths(todate(:a,'yyyymmdd'),(level1)12)as
如何同时查询表的大小和创建时间?
回答 2
selectfrom(selectOWNER,TABLESPACENAME,t.segmentname,t.segmenttype,sum(t.bytes/1024/1024/1024)totalGB
万里开源数据库符合金融国产化要求么?
回答 1
谁知道答案,能不能说一下