SQLAlchemy: извлечение нескольких полей из нескольких связанных таблиц одновременно - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть четыре таблицы базы данных.Как примечание, эти таблицы не могут быть изменены.Я попытался привести пример моей проблемы:

table1: (describes person's name)
id (primary key)
person_name (a string)

table 2: (describes a list of diseases)
id (primary key)
disease (a string)
...some other variables...

table 3 (links the person with a disease):
id (primary key)
table1_id_id
table2_id_id
….some other variables....


table 4 (links table 1 and table 3; with other info):
table3_id_id
table1_id_id
date_of_birth

У меня есть список имен: ['Ann', 'Barry', 'Tom']

Я бы хотелвытащить их имя, болезнь, дату рождения (т.е. объединить информацию в нескольких таблицах).

Я написал этот код:

Table1 = tbs['Names']
Table2 = tbs['Diseases']
Table3 = tbs['NamesAndDiseasesLinked']
Table4 = tbs['NamesDiseasesAndOtherInfoLinked']
name_list = ['Ann','Barry','Tom']


data = session.query(Table4,Table1).join(Table1).all()
for i in name_list: 
    for Table1,Table4 in data:
        if Table1.person_name == i:
            print Table4. #??????

Так что в конечном итоге результат будет выглядеть примерно так:

Ann    Diabetes      25-9-65
Barry  Hypertension  6-6-81
Tom    Influenza     6-9-75

Я пытался следовать таким ответам, как этот один и этот один, но я пытаюсь применить мой пример?

Спасибо

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