[ABI 5.1] 2张独立的表做表关联关系,计算的数据不正确

25337
17

sgg 小试身手Lv3

发表于2020-4-14 00:36

悬赏10

已解决

楼主
在“数据集”和“数据分析”建2张独立表的关联关系,计算的数据不对。如果用SQL主题表或ETL的SQL表输入或SQL数据源等的方式建成1张左连接表,计算的结果都是对的。请问问题出在哪里了,请大神支招,谢谢!


最近看过此主题的会员

esen_4ZJ3CXOHKU

平壤冷面

POLARIS

esen_4Y97I7D5I3

esen_4X0YJGZKN9

ssssssss

sunmeiling

esen_4KV7VZK2YIQI

18830298917

最佳答案
sgg 发表于 2020-4-14 22:22
有大神帮忙解决了,谢谢

关贴总结:
按以上截图步骤可以解决此问题

感谢楼主分享

17个回答

只看楼主

wut 数据老手Lv5

发表于2020-4-14 07:19

只看该作者

取消 关注该作者的回复

沙发

对比下两种方式表关联程度生成的sql,有什么区别

sgg 小试身手Lv3

发表于2020-4-14 08:53

只看该作者

取消 关注该作者的回复

板凳

wut 发表于 2020-4-14 07:19
对比下两种方式表关联程度生成的sql,有什么区别

关联关系里面只设置了一个左连接,计算出的SQL里面怎么多了一个右连接?

还是分析表设计有问题?,如下:

wut 数据老手Lv5

发表于2020-4-14 09:03

只看该作者

取消 关注该作者的回复

地板

你是在主题集里面设置的关联关系吗?确定是左关联吗?

sgg 小试身手Lv3

发表于2020-4-14 09:15

只看该作者

取消 关注该作者的回复

5#

wut 发表于 2020-4-14 09:03
你是在主题集里面设置的关联关系吗?确定是左关联吗?

分析表里面“高级”设置的关联关系、主题集里面也设置过,计算出来的都是错的。

缱绻 数据领袖Lv6

发表于2020-4-14 09:31

只看该作者

取消 关注该作者的回复

6#

sgg 发表于 2020-4-14 09:15
分析表里面“高级”设置的关联关系、主题集里面也设置过,计算出来的都是错的。 ...

看下结果表生成的sql哪里有问题

sgg 小试身手Lv3

发表于2020-4-14 09:39

只看该作者

取消 关注该作者的回复

7#

缱绻 发表于 2020-4-14 09:31
看下结果表生成的sql哪里有问题

1、SQL语句直接写的,计算的分析表数据是对的:
select IYI001,IYI002,IYI012,IYI902,IYI007,IYI008,IYI011,DAA002,IYI014,IYI015,IYK002,IYK003,DKB002,IYK004,IYK960,YJDZ,YJGZ,IYK005
from  F_JYYJ
left JOIN F_YJZB ON F_JYYJ.IYI007 =F_YJZB.PHid and F_JYYJ.IYK003=F_YJZB.JYid
where IYI011 LIKE '07%' AND IYI015='T' AND IYI002>='20200401'
2、2张独立表,用表关联关系左联接后,计算的数据不对,运行的SQL如下:
select * from ( select a.A2 as A2,a.B2 as B2,a.C2 as C2,a.D2 as D2,a.E2 as E2,a.I2 as I2,b.F2 as F2,b.G2 as G2,a.J2 as J2
from (
select a.IYI012 as A2,a.DAA002 as B2,a.IYI008 as C2,a.DKB002 as D2,a.IYK960 as E2,a.IYK004 as I2,a.IYI001 as J2
from f_jyyj a
where ((a.IYI011 LIKE '0703%') AND (a.IYI015 = 'T') AND (a.IYI002 >= '20200401'))) a
inner join (
select a.YJDZ as F2,a.YJGZ as G2,b.IYI001 as J2
from f_yjzb a
left join f_jyyj b
on ((b.IYI007 = a.PHid) AND (b.IYK003 = a.JYid))
where ((b.IYI011 LIKE '0703%') AND (b.IYI015 = 'T') AND (b.IYI002 >= '20200401'))) b
on (a.J2=b.J2)
order by a.J2 desc ) as temp_ limit 1000
对应的表样如下:

缱绻 数据领袖Lv6

发表于2020-4-14 09:50

只看该作者

取消 关注该作者的回复

8#

sgg 发表于 2020-4-14 09:39
1、SQL语句直接写的,计算的分析表数据是对的:
select IYI001,IYI002,IYI012,IYI902,IYI007,IYI008,IYI0 ...

F_JYYJ.IYK003=F_YJZB.JYid  除了左连接还需要有个内连接把

sgg 小试身手Lv3

发表于2020-4-14 10:13

只看该作者

取消 关注该作者的回复

9#

缱绻 发表于 2020-4-14 09:50
F_JYYJ.IYK003=F_YJZB.JYid  除了左连接还需要有个内连接把

老师,这个不需要内连接呀,且数据计算的出来也是对的

缱绻 数据领袖Lv6

发表于2020-4-14 10:27

只看该作者

取消 关注该作者的回复

10#

sgg 发表于 2020-4-14 10:13
老师,这个不需要内连接呀,且数据计算的出来也是对的

我意思表关联关系是不是要加个内连接 不用叫我老师哈 太客气了

sgg 小试身手Lv3

发表于2020-4-14 10:48

只看该作者

取消 关注该作者的回复

11#

缱绻 发表于 2020-4-14 10:27
我意思表关联关系是不是要加个内连接 不用叫我老师哈 太客气了

你是说方案2里面在加一个内连接?具体怎么写

上一页12下一页共2页

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号