Voor een MySQL-oplossing zou je een UNION
. kunnen gebruiken om de namen van alle kolommen in een zoekterm met nul rijen in te stellen en vervolgens iets complexers op te vragen:
SELECT null AS a, null AS b, null AS c FROM dual WHERE false
UNION ALL
SELECT <expr>, <expr>, <expr>
FROM <realtable>...
Alleen de eerste zoekterm van een UNION definieert de kolomnamen van de hele query. Kolomnamen (of het ontbreken daarvan) in volgende zoektermen hebben geen invloed op de uiteindelijke kolomnamen.
Je moet wel het nummer weten van kolommen, maar het zou vrij eenvoudig moeten zijn om de twee zoektermen gescheiden te houden. Voor zover ik weet, werkt het zowel in Oracle als MySQL (ik heb het echter alleen in MySQL getest, niet in Oracle).