使用表dev和remote中添加的Dummy字段完成了informatica中的正常连接。 dev表中的列是database_region,site_cd,dev_nm, dev_locn_id,dev_typ,bond_ind,FRM_ID,AP_ID,DUMMY_DEV 和远程列是node_id和DUMMY_REMOTE。 我们使用条件DUMMY_DEV = DUMMY_REMOTE创建交叉连接,将主列声明为node_id和DUMMY_REMOTE。 但是,根据客户要求,我们在sql中创建了Cross Join。为了实现我正在使用SQL查询运行交叉连接。当我比较Informatica的Normal Join和SQL的Cross Join之间的Row计数和数据时,结果完全相同。但是行的顺序是不同的。 任何人都可以建议我怎样才能达到完全相同的结果? 以下是我正在使用的查询。
select database_region,site_cd,dev_nm,
dev_locn_id, dev_typ, bond_ind , FRM_ID, AP_ID ,
node_id
from dev cross join
remote ;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 来自Informatica Normal Join的结果
01 AGSTAR AGSTARXAHA1-AGST AUGUSTA/80MVC7B/N65 C7 /M Y 01 20MEG
01 AGSTAR AGSTARXAHA1-AGST AUGUSTA/80MVC7B/N65 C7 /M Y 01 20MEG
01 AGSTAR AGSTARXAHA1-AGST AUGUSTA/80MVC7B/N65 C7 /M Y 01 20MEG
01 AGSTAR AGSTARXAHA1-AGST AUGUSTA/80MVC7B/N65 C7 /M Y 01 20MEG
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXx 来自informatica的交叉加入结果
01 AGSTAR AGSTARXAHA1-AGST AUGUSTA/80MVC7B/N65 C7 /M Y 01 15MEG
01 AGSTAR AGSTARXAHA1-AGST AUGUSTA/80MVC7B/N65 C7 /M Y 01 15MEG
01 AGSTAR AGSTARXAHA1-AGST AUGUSTA/80MVC7B/N65 C7 /M Y 01 15MEG
01 AGSTAR AGSTARXAHA1-AGST AUGUSTA/80MVC7B/N65 C7 /M Y 01 20MEG
对于提供四个输出行的演示,因为交叉连接会导致创建100 000行。
答案 0 :(得分:0)
评论太长了。
SQL表代表无序集。结果集 - 没有order by
时 - 同样代表无序集。
您可以在同一数据中,在同一数据库中运行相同的查询两次,并以不同的顺序获取行。 SQL并不关心。
如果您希望按特定顺序排列结果,请使用order by
。如果您希望始终以相同的顺序返回结果,请使用order by
。