Python создать фрейм данных из sql результата запроса - PullRequest
0 голосов
/ 16 января 2020

У меня есть sql запрос с созданием нескольких временных таблиц и одним последним оператором выбора.

Давайте представим пример запроса:

select 
        t1.Variable11,
        t1.Variable12,
        t2.Variable13
    into #R1
    from t1
    join t2
    on t1.Key1= t2.key1 and t1.Key2= t2.key2
    where t1.Variable1 > 100

select 
        t3.Variable21,
        t3.Variable22,
        t4.Variable23
    into #R2
    from t3
    join t4
    on t3.Key1= t4.key1 and t3.Key2= t4.key2
    where t3.Variable1 > 200


select 
        #R1.*,
        #R2.*
    from #R1
    join #R2
    on #R1.Variable11= #R2.Variable21

Я подключаюсь к sql серверу с pyodb c разъем:

connection = pyodbc.connect(driver='{SQL Server Native Client 11.0}', server=server_name,
                            database=db_name, trusted_connection='yes', MARS_Connection='yes')

Я не хочу переписывать код. Я просто хочу написать функцию, которая будет возвращать pandas dataframe. Когда я пытаюсь использовать функцию pandas.read_sql(), я получаю сообщение об ошибке:

TypeError: объект 'NoneType' не повторяется

Когда я пытаюсь использовать pyodbs.execute(), я получаю ошибка:

Нет результатов. Предыдущий SQL не был запросом.

как обработать сценарий sql с созданием нескольких временных таблиц и одним последним оператором выбора?

...