Получение данных из сложного запроса в excel

У меня есть запрос, который я хочу зависеть от определенных параметров из листа Excel, но я получаю сообщение об ошибке «параметры не разрешены в запросах, которые не могут отображаться графически». Единственный способ обойти это, который я вижу, — это использовать представление, но сколько дополнительных накладных расходов это даст? Это означало бы объединение двух таблиц (одна с почти 70 000 и одна с более чем 200 000 записей и обе имеют около 40 полей) в это представление, вероятно, используя только 5 или около того из 80 полей. У нас нет тестового сервера. В качестве альтернативы, есть ли способ изменить следующий запрос на тот, для которого запрос Microsoft разрешает параметры?

select count(distinct a) from table1 where b=0 and c < '2010-01-01' and a in 
(select a from table2 where d between '2010-01-01' and '2010-12-31') 

или как соединение:

select count(distinct table1.a) from table1 inner join table2 on (table1.a=table2.a 
and table2.d between '2010-01-01' and '2010-12-31') where table1.c < '2010-01-01'
and table1.b=0

Я хочу заменить даты (для c и d) значениями ячеек.

Спасибо,

Эрнст


person Ernst    schedule 28.11.2010    source источник


Ответы (1)


Рассматриваете ли вы возможность переноса данных из Excel в таблицы SQL-Server, а затем выполнить запрос? Большинство СУБД имеют инструменты для переноса данных.

person ArBR    schedule 28.11.2010
comment
Я не думал об этом, хотя я не думаю, что это вариант. Другие люди тоже должны будут что-то добавить. Хотя, если sql может выполнять автоматический импорт из таблицы Excel каждый час или при сохранении, это может быть вариантом. Я думаю, что сначала попробую вариант просмотра после обычного рабочего дня. - person Ernst; 30.11.2010
comment
@Ernst: вам следует создать макрос для автоматического экспорта данных из Excel на сервер SQL, чтобы вы могли выполнять сложные запросы. SQL Excel ограничен. - person ArBR; 01.12.2010