Динамическое поле MYSQL с содержимым из других полей - PullRequest
0 голосов
/ 24 сентября 2011

скажем, у меня есть 2 столбца в таблице, а и б (оба в виде простого текста).Есть ли способ создать третий столбец c в той же таблице с содержимым этих других столбцов a и b?

Пример:

a / 0 = "Peter", b /0 = "Гриффин" => c / 0 = "Питер Гриффин" (пробел, если! = Пусто)

a / 1 = "", b / 1 = "Гигантская курица" => c / 1= "Гигантская курица" (без разделителя)

Этот динамический столбец c, очевидно, должен быть полем только для чтения, поскольку невозможно определить, является ли пробел разделителем или обычным символом.

Я использую простую функцию PHP для получения содержимого поля, так что я мог бы проверить эту функцию, запрашивается ли поле c, и, если да, вернуть a, может быть, пробел и b ... Но я чувствую, что это не таклучшее место для этой проверки - есть ли способ, чтобы SQL запускал эту процедуру объединения?

1 Ответ

1 голос
/ 24 сентября 2011

Объедините их с помощью простого выбора

select trim(concat_ws(' ',a,b)) from table

Вы можете адаптировать мой выбор к обновлению, если вам это нужно.

...