总共有四张不同的表,A,B,C,D表,其中D表是字典表,然后要通过A表中的字段reportId去关联B表和C表中的product_code,然后查询出来B表中或者C表中的字段type值(A表的reportId要么匹配到B表中的product_code,要么匹配到C表中的product_code,不可能B和C表同时都能匹配到A表的reportId),通过查询出来的type值去关联D表(也就是字典表)里面的value,根据value的不同,获取到D表里面字段data的数据,所以最终要的结果就是D表里面的data值。
我也不确定描述的是否清楚,但是大概就是这么个意思,有没有熟悉 sql 的帮我瞅瞅(万分感谢)
sql语句编写,多表关联查询
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
0215荣 2023-10-25 15:01关注应该是我理解的这个样子吧
--方便理解一些
select
(select data from D where D.value=nvl(B.type,C.type))
from A,B,C
where A.reportId=B.product_code
and A.reportId=C.product_code--速度快一些
select
(select data from D where D.value=nvl(B.type,C.type))
from A left join B on A.reportId=B.product_code
left join C on A.reportId=C.product_code本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报 编辑记录解决 1无用