2010-06-05 3 views
1

Скажем, у меня есть эти таблицы:Настройка MySQL имена столбцов

people(id, name), cars(person_id, car)

и этот запрос:

SELECT c.car 
FROM people as p, cars as c 
WHERE c.person_id = p.id 
    AND p.id = 3 

Я хочу c.car столбец занять свое название от name поля в people таблица, как это (неверный SQL, просто для иллюстрации):

SELECT c.car AS(SELECT name FROM people WHERE id = 3)

Как это сделать?

ответ

3

Псевдоним должен быть жестко запрограммирован в вашем запросе. Вы не можете изменить псевдоним на основе значений данных.

Вам нужно будет запросить как автомобиль, так и имя человека (как показано в ответе @ VoteyDisciple) и сопоставить их в коде приложения после того, как вы их извлекли.

1

Я не уверен, что полностью понимаю. Поле c.car относится конкретно к полю car в таблице cars.

Для ссылки на name поле в people таблице, используйте p.name

SELECT c.car, p.name 
FROM people as p, cars as c 
WHERE c.person_id = p.id 
    AND p.id = 3 
0

Вы не можете в целом. Каким будет имя столбца, если оно вернет несколько разных результатов? Если вы знаете, что он может вернуть только один результат, вам нужно будет посмотреть это, а затем использовать динамический SQL для псевдонима столбца в отдельном запросе.

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