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

Изберете колона по псевдоним в MySQL

Кратък отговор:

  1. препратки към псевдоними в списъка SELECT или
  2. Изрази с псевдоним

Единствената документация, която намерих за това досега, е:https://bugs .mysql.com/bug.php?id=79549

В тази връзка има следното:

[9 декември 2015 15:35] Рой Лисенг...Ето по-дълъг фон за първоначалното решение:

Противно на препратките към псевдоними в подзаявките в клаузата WHERE (и в GROUP BY, в този смисъл), няма причина (освен стандартното съответствие) да не допускаме препратки към псевдоними в списъка SELECT , тъй като те трябва да са налични в същата фаза на изпълнение на заявката. Но поддръжката в 5.6 беше доста произволна:

Като се има предвид това:създайте таблица t1(a int, b int),

Псевдонимът в списъка SELECT не е валиден:

  select a+b as c,c+1 from t1;

Но в рамките на подзаявка препратката към c е валидна:

  select a+b as c,(select c+1) from t1;

И подзаявката трябва да бъде след дефиницията на псевдоним:

  select (select c+1),a+b as c from t1;

Така че, лесно е да се каже, че поддръжка за препратки към псевдоними в списъка SELECT беше по-скоро ad hoc. Въпреки това ще се опитаме да приложим отново старото решение, но без опит да изчистим очевидните дупки в поддръжката на тази функция. Но позоваването на псевдоними в подзаявки в клаузата WHERE няма да бъде повторно имплементирано.

Все още търся документация извън доклада за грешки, описващ тази функционалност в стандартните документи; но засега няма късмет.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pdo lastInsertId връща нула (0)

  2. Възможно ли е да се използва IF(cond1 И cond2,result,else резултат) в MySQL?

  3. Как да изпълним .sql скрипт от bash

  4. Как мога да преработя паролата си за MySQL, така че да мога да грабвам db:create on rails?

  5. MYSQL Left Присъединете последния ред на резултата