Съюзът работи по колона позиция НЕ име. Но не сте посочили позицията на колоната, защото сте направили *
така че е в някакъв ред, избран от базата данни, но не избран от вас.
Името на крайния резултатен набор е името на колоните в първата заявка в съюза.
Поправката е лесна:напишете имената на всички колони, които искате, и се уверете, че редът е последователен между трите заявки.
Колоните НЕ са сортирани по име (така че преименуването на колоните няма да ви помогне), редът е някакъв вътрешен ред в базата данни.
Използване на *
се счита за лоша практика:не знаете какво получавате и ако имате нужда само от някои от колоните, тогава използвайте *
извлича повече данни, отколкото е необходимо, което прави нещата по-бавни.
BTW Именуването на колони като това (по номер) е много лоша практика за програмиране. Как, за Бога, поддържаш нещата прави? Вашите колони имат числа, вашите таблици имат числа. Опитвате ли се да пишете объркан код? За да сте сигурни, че никой друг няма да може да работи върху вашия код? Защото ако сте, това е един от начините да го направите.