In sqlite3, I can force two columns to alias to the same name, as in the following query:
SELECT field_one AS overloaded_name, field_two AS overloaded_nam
The table itself can't have duplicate column names because inserting and updating would be messed up. Which column gets the data?
During selects the "duplicates" are just column labels so do not hurt anything.