关联查询重复

业务表与字典表关联,业务表两个字段对应字典表字段的等级

 SELECT A.ID,A.COMPANY,A.CDATE,A.AMOUNT,B2.ITEMNAME2 CLASS,A.INITIATOR,B1.ITEMNAME2 RANK,A.UNIT,A.STAFF,A.DEPARTMENT,A.DESCRIBE,A.EXPLAIN,A.REMARK,A.TBTIME FROM INPUT_SA_CHECK A LEFT JOIN BASE_DICTIONARY B1 ON to_char(A.RANK)=B1.ITEMCODE2 LEFT JOIN BASE_DICTIONARY B2 ON to_char(A.CLASS)=B2.ITEMCODE2

212121212.png

dominikruan 发布于 2021-7-23 12:14
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
0
dominikruanLv3见习互助
发布于2021-7-23 13:27

SELECT d.ID,d.COMPANY,d.CDATE,d.AMOUNT,d.CLASS,d.INITIATOR,d.RANK,d.UNIT,d.STAFF,d.DEPARTMENT,d.DESCRIBE,d.EXPLAIN,d.REMARK,d.TBTIME

FROM INPUT_SA_CHECK d WHERE d.rank in (select a.rank from INPUT_SA_CHECK A,BASE_DICTIONARY b where b.itemcode1='SA01')

and d.class in 

(select a.class from INPUT_SA_CHECK A,BASE_DICTIONARY c where c.itemcode1='SA02')

最佳回答
0
zsh331Lv8专家互助
发布于2021-7-23 12:26

单纯靠「ITEMCODE2」字段关联,确定业务逻辑正常?

——————————————

SELECT

A.ID,

A.COMPANY,

A.CDATE,

A.AMOUNT,

B2.ITEMNAME2 CLASS,

A.INITIATOR,

B1.ITEMNAME2 RANK,

A.UNIT,

A.STAFF,

A.DEPARTMENT,

A.DESCRIBE,

A.EXPLAIN,

A.REMARK,

A.TBTIME

FROM

INPUT_SA_CHECK A

LEFT JOIN BASE_DICTIONARY B1 

ON to_char(A.RANK) = B1.ITEMCODE2 or to_char(A.CLASS) = B2.ITEMCODE2

————————————————————

image.png

  • 1关注人数
  • 286浏览人数
  • 最后回答于:2021-7-23 13:27
    请选择关闭问题的原因
    确定 取消
    返回顶部