Автоматически создавать псевдонимы для всех столбцов в инструкции SELECT - PullRequest
0 голосов
/ 26 января 2020

Я использую Microsoft Query для передачи данных с MS SQL Server в Excel. Многие из моих таблиц имеют одинаковые имена столбцов, например:

[task].[active]
[user].[active]

[task].[name]
[user].[name]

При повороте в Excel отображаются только имена столбцов. Сводный фильтр может иметь несколько полей, называемых «активными», что очень сбивает с толку.

Я хотел бы присвоить псевдоним каждому столбцу имя таблицы, из которой он взят, так что в фильтре он будет содержать «task_active» и « user_active». Мой оператор Excel SELECT будет выглядеть следующим образом:

SELECT active AS task_active, name AS task_name FROM task...

Существует ли быстрый способ добавить имя таблицы к псевдониму с помощью инструмента форматирования? У меня есть Apex SQL Refactor и Notepad ++, но я не нашел способа сделать это без необходимости снова вручную вводить все имена столбцов.

1 Ответ

0 голосов
/ 27 января 2020

Если вы заполняете набор результатов в datatable, а затем datatable в excel, он автоматически изменит дублирующееся имя столбца на col1, col2 и c.

Это не ваше требование. Вы хотите, чтобы оно было указано c.

Method 1. Создайте временную таблицу с именем столбца желаний

Вставьте результат в таблицу #temp

Верните набор результатов таблицы #temp

Method 2: используйте динамический запрос c.

Как выглядит ваш реальный запрос?

...