У меня есть SQL-запрос, который извлекает данные из базы данных.Данные извлекают различные количества и должны иметь столбцы, основанные на количествах, которые являются довольно большими.Явное указание этих условий в запросе sql становится беспорядочным и приводит к ошибкам (от копирования и вставки).Поэтому я пытаюсь построить фильтр для столбцов (где условия должны быть выполнены одновременно).Я знаю, что метод OPENROWSET BULK может помочь, но не уверен, как его использовать в этом случае.
Файл SQL: mysql.sql и файл, из которого нужно извлечь два столбца (x, y), - это myfile.txt
Мой пример SQL-запроса:
SELECT a.item, a.class, a.group, a.date, a.batch, a.value, a.subitem, b.phase, b.desc
FROM tableA a INNER JOIN tableB b
ON a.class = b.group and a.date = b.date
JOIN
OPENROWSET (
BULK 'c:\myfile.txt'
) File ON a.class = File.class and a.group = File.group and b.desc = File.desc
myfile.txt выглядит следующим образом:
дескриптор группы классов
aa1 gg1 dd1
aa2 gg2 dd2
xxx yyy zzz
... .... ....
..... ..... ....
и так далее.Этот файл довольно большой.
Пожалуйста, дайте мне знать, если я делаю правильно и какие изменения необходимы.
Я обнаружил, что файл формата может быть необходим.Однако я не уверен, как создать файл форматирования из файла csv и как его использовать.
Кроме того, после создания запроса я планирую использовать pyodbc для извлечения данных из базы данных.Будет ли это возможно?
Заранее спасибо.