Búsqueda de sitios web

Usando el valor de un alias dentro de la misma declaración SELECT de MySQL


No puede utilizar directamente un alias en SELECT. En su lugar, utilice una variable definida por el usuario. A continuación se muestra la sintaxis. Aquí, @yourAliasName es nuestra variable y alias:

select @yourAliasName :=curdate() as anyAliasName,concat(‘yourValue.',yourColumnName,' yourValue',@yourAliasName) as anyAliasName from yourTableName;

Primero creemos una tabla:

mysql> create table DemoTable
(
   Name varchar(40)
);
Query OK, 0 rows affected (0.62 sec)

Inserte algunos registros en la tabla usando el comando insertar:

mysql> insert into DemoTable values('John Smith');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('Chris Brown');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable values('David Miller');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values('John Doe');
Query OK, 1 row affected (0.18 sec)

Muestre todos los registros de la tabla usando la declaración de selección:

mysql> select *from DemoTable;

Esto producirá el siguiente resultado:

+--------------+
| Name         |
+--------------+
| John Smith   |
| Chris Brown  |
| David Miller |
| John Doe     |
+--------------+
4 rows in set (0.00 sec)

La siguiente es la consulta para utilizar el valor de un alias dentro de la misma declaración SQL:

mysql> select @todayDate :=curdate() as todayDate,concat('Mr.',Name,' The current Date is=',@todayDate) as Result from DemoTable;

Esto producirá el siguiente resultado:

+------------+------------------------------------------------+
| todayDate  | Result                                         |
+------------+------------------------------------------------+
| 2019-09-08 | Mr.John Smith The current Date is=2019-09-08   |
| 2019-09-08 | Mr.Chris Brown The current Date is=2019-09-08  |
| 2019-09-08 | Mr.David Miller The current Date is=2019-09-08 |
| 2019-09-08 | Mr.John Doe The current Date is=2019-09-08     |
+------------+------------------------------------------------+
4 rows in set (0.00 sec)