Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на псевдоним на колона в същата клауза SELECT

Не, няма начин за препращане към псевдоними, но можете да присвоите израза на променлива и след това да се обърнете към променливата в същата клауза за избор.

Присвояването на променлива в оператора за избор винаги се извършва от инфиксния оператор := . *В SET израз, може да бъде или = или := .

напр.

SELECT 
    ord_id
  , candy_id
  , price
  , quantity
  , @exc_cost := price * quantity AS exc_cost
  , @exc_cost * @tax_rate AS my_favourite_field
...
<FROM CLAUSE>

Можете също така условно да извършите присвояване на променлива.

напр.

IF(quantity > 90, 
     @exc_cost := price * quantity * 0.95
   , @exc_cost := price * quantity) AS exc_cost

Забележка 1:При липса на обобщени мерки и група по клауза, променливите се оценяват според реда на колоните:

SELECT @t, @t+2 FROM (SELECT @t := 1) a

произвежда изхода

@t   @t+2
 1      3


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изисква се за присъединяване на 2 маси с техните FK в 3-та маса

  2. Пребройте броя на LIKE-съвпаденията на запис

  3. MySQL:Как да извличам данни с ляво присъединяване, ако колоната съдържа множество идентификатори?

  4. Замяна на стойност в разделен със запетая низ в MySQL?

  5. Как да създадете падащо меню