Вопрос по sql, sql-server – составление двух таблиц sql (2008) с разными именами столбцов

2

Я проверил этот сайт на наличие кода для размещения двух таблиц (поместите результаты одной таблицы под результатами другой), где имена столбцов отличаются. Я знаю, что UNION ALL работает, когда имена совпадают ... и я ЗНАЮ, ЧТО UNION ALL с присваиванием имен столбцов, отсутствующих в одной таблице, работает, когда в одной таблице больше информации, чем в другой ... но что, если столбец имена разные? например, если в одной таблице имя столбца CHP, а в другой - «CHILD HEALTH PLUS» и мне нужно, чтобы эти две колонки были сложены друг на друга?

Добро пожаловать на ТАК! Пожалуйста, покажите свой код и сообщение об ошибке, которое вы получите. vyegorov

Ваш Ответ

2   ответа
6

если типы столбцов одинаковы. Не имеет значения, отличаются ли имена столбцов.

SELECT column1
FROM Table1
UNION
SELECT column1
FROM Table2

Если вы хотите узнать, из какой таблицы поступают записи, вы можете добавить другое поле, которое будет отличать строки:

SELECT column1, 'Table1' as TableName
FROM Table1
UNION
SELECT column1, 'Table2' as TableName
FROM Table2
0

mysql не требует, чтобы имена столбцов были одинаковыми, но вы всегда можете использовать «AS»; чтобы сопоставить имена столбцов, например.

select column1 AS col1, column2 AS col2...

РЕДАКТИРОВАТЬ: я только что заметил "2008" в названии поста - это SQL Server 2008? в любом случае, похоже, что sql-сервер не заботится об этом. Имена столбцов тоже.

Похожие вопросы