@@ -93,7 +93,7 @@ public void parseSelectFields(JoinInfo joinInfo){
9393 if (fieldInfo .getTable ().equalsIgnoreCase (sideTableName )){
9494 String sideFieldName = sideTableInfo .getPhysicalFields ().getOrDefault (fieldInfo .getFieldName (), fieldInfo .getFieldName ());
9595 fields .add (sideFieldName );
96- sideSelectFieldsType .put (sideTableFieldIndex , getTargetFieldType (sideFieldName ));
96+ sideSelectFieldsType .put (sideTableFieldIndex , getTargetFieldType (fieldInfo . getFieldName () ));
9797 sideFieldIndex .put (i , sideTableFieldIndex );
9898 sideFieldNameIndex .put (i , sideFieldName );
9999 sideTableFieldIndex ++;
@@ -132,12 +132,13 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName){
132132
133133 String leftTableName = left .getComponent (0 ).getSimple ();
134134 String leftField = left .getComponent (1 ).getSimple ();
135+ Map <String , String > physicalFields = sideTableInfo .getPhysicalFields ();
135136
136137 String rightTableName = right .getComponent (0 ).getSimple ();
137138 String rightField = right .getComponent (1 ).getSimple ();
138139
139140 if (leftTableName .equalsIgnoreCase (sideTableName )){
140- equalFieldList .add (leftField );
141+ equalFieldList .add (physicalFields . get ( leftField ) );
141142 int equalFieldIndex = -1 ;
142143 for (int i =0 ; i <rowTypeInfo .getFieldNames ().length ; i ++){
143144 String fieldName = rowTypeInfo .getFieldNames ()[i ];
@@ -153,7 +154,7 @@ public void dealOneEqualCon(SqlNode sqlNode, String sideTableName){
153154
154155 }else if (rightTableName .equalsIgnoreCase (sideTableName )){
155156
156- equalFieldList .add (rightField );
157+ equalFieldList .add (physicalFields . get ( rightField ) );
157158 int equalFieldIndex = -1 ;
158159 for (int i =0 ; i <rowTypeInfo .getFieldNames ().length ; i ++){
159160 String fieldName = rowTypeInfo .getFieldNames ()[i ];
0 commit comments