#mysql #sql
Вопрос:
Мой текущий код приведен ниже. Я хотел вызвать все столбцы из таблицы с помощью*, но имя столбца idcastncrew должно отображаться как castncrewid. В коде требований это не работает, хотя я хотел бы, чтобы для моего требования было решение, такое как пример кода требований.
Текущий код:-
SELECT idcastncrew AS castncrewid,castncrewname,castncrewtype,castncrewrole,imagelink,vendor,mode FROM subscriber;
Требование :-
SELECT idcastncrew AS castncrewid, * FROM subscriber;
Комментарии:
1. это невозможно. Вам нужно указать нужные столбцы и любой псевдоним в вашем списке столбцов.
2. Либо аспериск, либо все столбцы по одному. И звездочка не в начале списка вывода не разрешена в MySQL.
Ответ №1:
Самое близкое, что, я думаю, вы можете получить, — это дважды переименовать столбец, один раз с новым именем и один раз со старым именем.
В то время как MySQL не разрешает *
после столбца с псевдонимами (в результате чего ваш второй фрагмент кода выдает ошибку), он разрешает table.*
где угодно…
SELECT idcastncrew AS castncrewid, subscriber.*
FROM subscriber;
Для повторной итерации; вы все равно получите idcastncrew
столбец, но вы ТАКЖЕ получите castncrewid
столбец.
Невозможно сказать don't include *this* column
при использовании *
в MySQL
https://dbfiddle.uk/?rdbms=mysql_5.7amp;fiddle=c69c537e46ad29e3c0c8c03d3ebd1bf7
Ответ №2:
Вы можете создавать псевдонимы столбцов при создании псевдонима таблицы, например, следующим образом
MariaDB [DEV]> create table xxx (id int, str varchar(20));
MariaDB [DEV]> insert into xxx values (1, 'hi');
MariaDB [DEV]> insert into xxx values (2, 'Hello');
MariaDB [DEV]> insert into xxx values (3, 'World');
MariaDB [DEV]> insert into xxx values (4, 'Goodbye');
MariaDB [DEV]> select a.id as id1, a.* from xxx a order by 1;
------ ------ ---------
| id1 | id | str |
------ ------ ---------
| 1 | 1 | hi |
| 2 | 2 | Hello |
| 3 | 3 | World |
| 4 | 4 | Goodbye |
------ ------ ---------
Я надеюсь, что это поможет…Рич
p.s. Если этот (или другой) ответ вам поможет, пожалуйста, найдите минутку, чтобы «принять» ответ, который помог, нажав на галочку рядом с ответом, чтобы переключить его с «серого» на «заполнено».