2015-10-12 4 views
1

Можно ли назначать имена столбцов с помощью SELECT * с префиксом. Трудно объяснить, так смотрите этот пример.с помощью *

$connect->prepare(" 
SELECT 
    user.firstName as prefix_firstName, 
    user.lastName as prefix_lastName 
    FROM user 
WHERE user.ID = '5' 
    "); 

То, что я хотел бы, чтобы быть в состоянии использовать это user.* и назначить префикс, как prefix_ используя *. Как это:

SELECT 
    user.* as prefix_* 

Было бы назначить каждый столбец в prefix_ как prefix_firstName без вызова каждого столбца и назначить его с as prefix_columnName. Нравится:

SELECT 
    user.firstName as prefix_firstName, 
    user.lastName as prefix_lastName 

Надеюсь, что это объясняется достаточно хорошо.

Обновлено Спасибо .. Причина в том, что у меня есть 3 человека, которых мне нужно вытащить из того же стола. используя

SELECT user.*, 
     admin.*, 
     creator.* 
FROM 
    user 
LEFT JOIN 
    user as admin 
ON 
    admin.ID = user.adminID 
LEFT JOIN 
    user as creator 
ON 
    creator.ID = user.creatorID 
WHERE 
    user.ID = '5' 

В качестве примера все 3 выбирает (user.*, admin.*, creator.*) все было бы создать такую ​​же Firstname переменную, которая будет перезаписывать iteself. Я подумал, может быть, был более короткий путь, чем делать это так.

SELECT 
    user.firstName, 
    user.lastName, 
    admin.firstName as admin_firstName, 
    admin.lastName as admin_lastName, 
    creator.firstName as creator_firstName, 
    creator.lastName as creator_lastName 
FROM 
    user 
LEFT JOIN 
    user as admin 
ON 
    admin.ID = user.adminID 
LEFT JOIN 
    user as creator 
ON 
    creator.ID = user.creatorID 
WHERE 
    user.ID = '5' 

Это всего лишь фрагмент кода, есть на самом деле 37 столбцов в таблице пользователя, который должен потянуться для каждого из 3-х пользователей.

Спасибо!

+0

нет, но вы можете написать функцию для создания запроса, создающего алиазис. –

+0

Или вы можете назначить префикс PHP при получении данных из MySQL – user2182349

+2

вопрос: * почему? * –

ответ

0

Нет, это невозможно с использованием sql. Если запрос собран динамически в php-коде, тогда PHP-код может построить запрос в виде строки, чтобы включить каждое поле отдельно с псевдонимом.

+0

Да, это, наверное, мой единственный выбор. – ideapro

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