Aron Tao,

I think you need the next two methods:

org.apache.calcite.sql.validate.SqlValidatorImpl#getFieldOrigins
java.sql.ResultSetMetaData#getTableName

Regards,
Igor

> 19 февр. 2020 г., в 10:29, JiaTao Tao <taojia...@gmail.com> написал(а):
> 
> Hi
> Thanks a lot.
> Can you give more details, say which method/field?
> 
> Regards!
> 
> Aron Tao
> 
> 
> Seliverstov Igor <gvvinbl...@gmail.com> 于2020年2月19日周三 下午2:31写道:
> 
>> You can use their origins (says where a column came from).
>> 
>> It's accessable from SqlValidatorImpl or jdbc result set
>> 
>> ср, 19 февр. 2020 г., 9:25 JiaTao Tao <t...@apache.org>:
>> 
>>> What I really need is to collect every part of the SQL, Which columns are
>>> used as filters, which are used as projection(Columns on the source
>>> table), But
>>> the existence of nested subqueries complicates the issue.
>>> 
>>> 
>>> Regards!
>>> 
>>> Aron Tao
>>> 
>>> 
>>> JiaTao Tao <t...@apache.org> 于2020年2月19日周三 下午2:17写道:
>>> 
>>>> SQL like this:
>>>> ```
>>>> SELECT T1.NID,
>>>>       T1.NAME,
>>>>       T2.COMPANY
>>>> FROM
>>>>  (SELECT (U.ID +100) AS NID,
>>>>          U.NAME AS NAME
>>>>   FROM USERS U) T1
>>>> JOIN
>>>>  (SELECT (J.ID +100) AS NID,
>>>>          J.COMPANY
>>>>   FROM JOBS J) T2 ON T1.NID = T2.NID
>>>> ```
>>>> What I wanted is that T1.NID comes from USER.ID, T1.NAME comes from
>>>> USER.NAME.
>>>> 
>>>> Has anyone done similar work? Is there a ready-made example to refer
>> to?
>>>> 
>>>> 
>>>> Regards!
>>>> 
>>>> Aron Tao
>>>> 
>>> 
>> 

Reply via email to