Сделайте выбор в диапазоне Excel и выведите его в другой лист - PullRequest
0 голосов
/ 12 мая 2011

Можно использовать Excel в качестве источника ODBC и выполнить запрос к данным на листе.

Вот что я сделал.
Я импортировал данные в Excel с SQL-серверабазы данных в лист.
Я использую оператор select, который подключается к SQl_server и сбрасывает данные в sheet1.

Первоначальный выбор, если он длинный и сложный, и я манипулирую им с помощью VBA, чтобы сделать запрос динамическим.
По этой причине я не хочу возиться с исходным запросом, чтобы заключить его в

SELECT a,b,c, sum(debit) as debit, sum(credit) as credit, accountnumber FROM (
  SELECT lost_of_fields
  FROM lots_of_tables_with_lots_of_joins
  WHERE couple_of_conditions
  ORDER BY few_fields ) AS subselect
) GROUP BY subselect.accountnumber

Я не хочу этого делать, потому что SQL-сервер жалуется на выбор большого количества полей, в то время как делает только GROUP BY для одного из них.

Вопрос
Могу ли я сделать

SELECT a,b,c, sum(debit) as debit, sum(credit) as credit, accountnumber 
FROM named_range_in_excel 
GROUP BY accountnumber

и записать вывод в лист в той же книге Excel?
Если я могу сделать это без использования VBA, было бы здорово, если бы VBA былнужно тоже нормально.

1 Ответ

1 голос
/ 12 мая 2011

Вы можете попробовать использовать ссылку «Внешние данные», используя запрос из той же книги и редактора запросов, чтобы сформировать оператор SELECT.

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

Например, в 2010 году: вкладка «Данные», «Получение внешних данных, из других источников, из Microsoft Query, ExcelFiles».

ОБНОВЛЕНИЕ: добавлен скриншот.Но SQL действительно жалуется на группу, как вы сказали.Я не эксперт по SQL.другие могут пролить свет ...

Пример ожидаемого результата может помочь.

Example

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