in reply to How do I get "table.column" format from a select/join?

Do not use SELECT *. Not only are you probably pulling far more data than you need (which may or may not matter, depending on how big that data is) but as you've noticed, duplicate field names are problematic — and make your code fragile (what happens when the DBA adds another column?).

Instead, select exactly the columns you need, and under the names you want:

SELECT p.gene_id AS parent_gene_id, c.gene_id AS child_gene_id, c.name AS child_name FROM parent p LEFT JOIN child c ON ( p.gene_id = c.gene_id ) /* etc. */