Untuk solusi MySQL, Anda dapat menggunakan UNION
untuk menyetel nama semua kolom dalam istilah kueri baris nol, dan kemudian menanyakan sesuatu yang lebih kompleks:
SELECT null AS a, null AS b, null AS c FROM dual WHERE false
UNION ALL
SELECT <expr>, <expr>, <expr>
FROM <realtable>...
Hanya istilah kueri pertama dari UNION yang mendefinisikan nama kolom dari keseluruhan kueri. Nama kolom (atau kekurangannya) dalam istilah kueri berikutnya tidak memengaruhi nama kolom akhir.
Anda perlu mengetahui nomor kolom, tetapi seharusnya cukup mudah untuk memisahkan kedua istilah kueri. Sejauh yang saya tahu, ini berfungsi di Oracle dan MySQL (namun, saya hanya mengujinya di MySQL, bukan di Oracle).