table a
_______________________________
id col1 col2 col3 ...........col20
1 ............................
2 ............................
3 ............................
table b
_______________________________
id colA colB colC colD ...... colZ
query
________________________________
select a.*, b.* from a left join b on b.id = a.col20 where a.id = 1;
In this query table a and b has same column name.
And I need both of them.
select a.id as a_id .. b.id as b_id .. from a left join b on b.id = a.col20 where a.id = 1;
How to avoid typing all column name?
As far as I know there is not an easy way to select * and exclude columns, and it requires putting the full column list, but I’m sure there are other possibilities.
One way of doing this which would make those
a.*, b.*type queries work, but requires some initial setup, is to create a view for the table which aliases all of the columns.the view of
awould be a select query with all of the column names aliased.Then anywhere else you could do something like this:
If the example were that simple and you really only had 2 tables, it would be sufficient to just make a view for one of them.
Hackish, maybe.. I’d probably look to permanently change the column names on the base tables.