moved code to caulculate column indexes in the preparation function.

SQLTableInnerJoin::getActiveRow() is called as many as calculation
loops. The code that has to be exected just one time was moved to
prepareJoin(), which is called once.