Как написать запрос в Microsoft SQL Server Management Studio, а затем использовать этот запрос в Excel
У меня есть файл Excel, который я хочу открыть, нажать refesh, и он извлекает данные с сервера SQL, а затем я манипулирую данными и создаю несколько панелей мониторинга. У меня действительно есть это, но я тяну к большому количеству данных и мне нужен более сложный Запрос с некоторыми JOIN, чтобы сузить его.
Я могу запросить SQL Server из-в Excel. Я могу отредактировать запрос (это просто текст), но он утомителен, немного похож на ход в темноте, потому что с Excel делает запрос, сообщения об ошибках бесполезны. Раньше я делал это с помощью.exe, называемого MSQuery, который поставляется с Excel (но он давится многими вещами).
Я могу написать запрос, который я хочу, используя Microsoft SQL Server Management Studio.
Вы могли бы подумать, что я мог бы написать запрос в Studio и вырезать и вставить запрос в Excel, но синтаксис выглядит немного иначе. В частности, в Studio перед написанием запроса необходимо выбрать базу данных, поэтому оператор FROM в запросе SQL начинается с dbo.vSomeViewName. Принимая во внимание, что в Excel/MSQuery вы не указываете базу данных, и поэтому оператор FROM в запросах начинается с TheDataBaseName.dbo.vSomeViewName. После этого есть некоторые другие различия, которые я не понимаю.
У меня возникает ощущение, что мне не хватает чего-то базового, что в книгах кажется очевидным или ненужным.
2 ответа
Я регулярно копирую и вставляю запросы между Excel и SQL Server Studio и не сталкиваюсь с описанными вами проблемами. Пока база данных идентифицируется в строке подключения в Excel, вам не нужно ставить имя базы данных перед каждым именем таблицы или столбца.
Кроме того, вы можете указать имя базы данных в начале запроса:
use database
Я делаю следующие шаги, когда хочу вставить запрос SQL Server: (при условии, что Excel 2007)
- Данные> Из других источников> Из SQL Server
- Введите имя сервера
- Выберите нужную базу данных и выберите небольшую таблицу из списка таблиц.
- Хит ОК
- Выбрав вкладку "Инструменты таблицы"> "Дизайн", щелкните стрелку в разделе "Обновить" и выберите "Свойства подключения".
- Нажмите Определение
- Изменить тип команды на "SQL"
- Вставьте запрос в поле "Текст команды". Хит ОК.
Это всегда работало для меня.