Как я могу переименовать один столбец в таблице при выборе? - PullRequest
18 голосов
/ 05 марта 2009

У меня есть две таблицы с одним и тем же именем столбца, но разными данными. Я хочу объединить таблицы, но получить доступ к обоим столбцам (row ["price"], row ["other_price"]): как я могу переименовать / псевдоним одного из них в операторе select? (Я не хочу переименовывать их в БД)

Ответы [ 7 ]

38 голосов
/ 05 марта 2009

выберите table1.price, table2.price как other_price .....

15 голосов
/ 05 марта 2009
select t1.Column as Price, t2.Column as Other_Price
from table1 as t1 INNER JOIN table2 as t2 
ON t1.Key = t2.Key 

как это?

5 голосов
/ 05 марта 2009

с ключевым словом AS

select a.Price as PriceOne, b.price as PriceTwo 
from tablea a, tableb b
1 голос
/ 09 октября 2018

Если, как и я, вы делаете это для столбца, который затем проходит через COALESCE / array_to_json / ARRAY_AGG / row_to_json (PostgreSQL) и хотите сохранить заглавные буквы в имени столбца, заключите его в двойную кавычку, например, так:

SELECT a.price AS "myFirstPrice", b.price AS "mySecondPrice"

Без кавычек (и при использовании этих функций) имена моих столбцов в camelCase потеряли бы заглавные буквы.

1 голос
/ 22 марта 2017

Нет необходимости использовать AS, просто используйте:

SELECT table1.price Table1 Price, table2.price Table2 Price, .....
1 голос
/ 10 ноября 2016

Также вы можете опустить ключевое слово AS.
SELECT row1 Price, row2 'Other Price' FROM exampleDB.table1;
в этом варианте читаемость немного ухудшена, но вы получили желаемый результат.

1 голос
/ 05 марта 2009

если вы используете сервер sql, используйте скобки или одинарные кавычки вокруг псевдонима в запросе, который вы используете в коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...