как дать псевдоним оператору лайка в MySQL - PullRequest
1 голос
/ 04 июля 2011

Я хочу выбрать имя типа «Bo%» или имя, например «Ni%», из таблицы, и я хочу дать конкретное имя всем этим именам, например, Bo, и конкретное имя всем этим именам, например, Ni.Но если я даю псевдоним, это не сработает.

имя, например, "Bo%", как мужчина, или имя, как "Ni%", как женщина.Так как я могу это сделать?

1 Ответ

1 голос
/ 04 июля 2011

SQL позволяет создавать псевдонимы столбцов или таблиц. Вы не можете чередовать имя столбца для каждого значения - имя должно быть согласованным, чтобы вы могли ссылаться на него для последующих операций.

Вам необходимо выделить столбец для каждой опции, которую вы хотите увидеть:

SELECT CASE WHEN t.col LIKE 'Bo%' THEN t.col ELSE NULL END AS male,
       CASE WHEN t.col LIKE 'Ni%' THEN t.col ELSE NULL END AS female
  FROM YOUR_TABLE t

... но это означает, что мужской или женский столбец может быть нулевым - оба будут, если ни один из них не совпадает с LIKE:

name    male  female
-------------------
Bob     Bob   NULL
Nirmal  NULL  Nirmal
Xander  NULL  NULL
...