2014-11-04 3 views
1

Мы ищем возможность использовать групповые символы в MySQL инструкции SELECT внутри псевдонима CollumnMySQL Псевдоним столбца подстановочные символы

так:

Для каждого столбца:

SELECT a.* as task_*, b.* as types_* 
FROM tasks AS a 
LEFT JOIN types AS b 
ON a.type_id = b.id_type 
ORDER BY a.lastmod DESC 

не только для явных столбцов:

SELECT a.title as task_title, b.title as types_title 
FROM tasks AS a 
LEFT JOIN types AS b 
ON a.type_id = b.id_type 
ORDER BY a.lastmod DESC 

но это не работает, никаких идей?

Примечание: в качестве префикса для имен collumn короткой стороны

a.* as prefix_* 
+1

Это не совсем понятно, что вы просите. Можете ли вы привести пример ожидаемого ввода и вывода? – Erik

+0

Нет, это невозможно. Вы можете назначить псевдоним только для одного столбца. –

ответ

0

вы должны явно выбрать каждый столбец и присвоить имена псевдонимов для каждого столбца

example: select a.emp_name as task_empame, a.location as task_location from ... 
+0

возможно, запрос функции для mysql dev - никаких других идей? – Chaendler

1

SELECT a.* as task_ совершенно неправильно. Атрибут столбца относится к одному столбцу, а не ко всему списку столбцов. С помощью оператора * вы выбираете все столбцы из соответствующей таблицы. Вам необходимо изменить ваш запрос, например

SELECT a.*, b.* 
FROM tasks AS a 
LEFT JOIN types AS b 
ON a.type_id = b.id_type 
ORDER BY a.lastmod DESC 

(OR) явно задает псевдоним столбцов для каждого столбца в списке выбора. За ваш комментарий a.* as prefix_(*) не может быть выполнен, так как этот тип конструкции не встроен.

+0

Это не то, что я хочу! - У Stackoverflow есть некоторые проблемы со вторым шаблоном * Я хочу: SELECT a. * As task _ (*) ​​ – Chaendler

+0

вы имеете в виду 'a. * As prefix_ *'. Нет такого типа конструкции, и этого не может быть сделано. – Rahul

Смежные вопросы