Имя таблицы: aa_company

Column_A    Column_B    Column_C
ABC         0001        abc@gmail.com

BCD         0002        bcd@gmail.com

CDE         0003        cde@gmail.com


Select Column_A, Column_B, Column_C
FROM aa_company;

Если я хочу, чтобы в результат вывода был добавлен еще один столбец, как я могу это сделать?

Column_A    Column_B    Column_C          Column_D
ABC         0001        abc@gmail.com     ABC (0001)

BCD         0002        bcd@gmail.com     BCD (0002)

CDE         0003        cde@gmail.com     CDE (0003)
sql
-1
Fabre 5 Июл 2017 в 09:39
2
Select Column_A, Column_B, Column_C, Column_A + ' (' + Column_B + ')' FROM aa_company;
 – 
artm
5 Июл 2017 в 09:41
2
: Во-первых, пожалуйста, оставьте свой комментарий в качестве ответа. в политике сайта четко указано, что вы не должны использовать комментарии для ответа на вопросы. Во-вторых, обратите внимание, что не все базы данных поддерживают + в качестве оператора конкатенации строк. ANSI-SQL использует || (как и Oracle).
 – 
Zohar Peled
5 Июл 2017 в 09:46
1
Какую СУБД вы используете? Постгрес? Оракул?
 – 
a_horse_with_no_name
5 Июл 2017 в 10:00
Вот почему я оставил это как комментарий, не зная, какую СУБД использует OP, поэтому не знал, будет ли + работать или нет.
 – 
artm
6 Июл 2017 в 04:05

3 ответа

CREATE TABLE #TABLE1
    ([COLUMN_A] VARCHAR(3), [COLUMN_B] VARCHAR(50), [COLUMN_C] VARCHAR(13))
;

INSERT INTO #TABLE1
    ([COLUMN_A], [COLUMN_B], [COLUMN_C])
VALUES
    ('ABC', '0001', 'ABC@GMAIL.COM'),
    ('BCD', '0002', 'BCD@GMAIL.COM'),
    ('CDE', '0003', 'CDE@GMAIL.COM')
;

Используя функцию concat

   SELECT COLUMN_A, COLUMN_B, COLUMN_C,CONCAT(COLUMN_A,'('+COLUMN_B+')') AS COLUMN_D FROM #TABLE1

Или используя оператор +

   Select Column_A, Column_B, Column_C, Column_A + ' (' + Column_B + ')'  COLUMN_D  FROM #TABLE1;
0
Chanukya 5 Июл 2017 в 09:49

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

Select Column_A, Column_B, Column_C, 
concat(column_A,' ('+column_B+')') as Column_D
from aa_company
0
G one 5 Июл 2017 в 09:52
Select Column_A, Column_B, Column_C,Column_A + '('+Column_B+')'
FROM aa_company;

Здесь столбец B кажется числовым, поэтому вам нужно преобразовать его в тип varchar, чтобы запрос был похож на

Select Column_A, Column_B, Column_C,Column_A + '('+CONVERT(varchar(10),Column_B)+')'
FROM aa_company;

Чтобы дать заголовок новому столбцу, вы можете написать как

Select Column_A, Column_B, Column_C,Column_A + '('+CONVERT(varchar(10),Column_B)+')' as Column_D
FROM aa_company;
0
Jun Rikson 5 Июл 2017 в 11:55