Here is the example:
create column table t_dept (dept_id tinyint primary key, dname varchar(5));
create column table t_emp (emp_id tinyint primary key, ename varchar(5), dept_id tinyint);
insert into t_dept values (1, 'ddd');
insert into t_dept values (2, 'ddd');
insert into t_dept values (3, 'ccc');
insert into t_emp (emp_id, ename, dept_id) values (1, 'aaa', 2);
insert into t_emp (emp_id, ename, dept_id) values (2, 'bbb', 1);
insert into t_emp (emp_id, ename, dept_id) values (3, 'ccc', 3);
insert into t_emp (emp_id, ename, dept_id) values (4, 'ddd', 1);
select * from m_cs_all_columns where table_name in ('T_DEPT', 'T_EMP') and column_name like '%$%';
-- Join on one set of columns
select * from T_EMP a, T_DEPT b where a.dept_id = b.dept_id and a.ename = b.dname;
select * from m_cs_all_columns where table_name in ('T_DEPT', 'T_EMP') and column_name like '%$%'; --- check the columns
-- Join on different set of columns
select * from T_EMP a, T_DEPT b where a.emp_id = b.dept_id and a.ename = b.dname;
select * from m_cs_all_columns where table_name in ('T_DEPT', 'T_EMP') and column_name like '%$%'; -- check the columns
So my understanding is, these columns are created to perform COLUMN to COLUMN join operation as explained in the document from Lars Breddemannhttp://scn.sap.com/docs/DOC-44174. Please refer to the section "How does Join work".
Also, please await for the HANA SUPERGURU (read Lars) to reply on this thread with much more valuable information and in-depth analysis.
Regards,
Ravi