from sqlalchemy import create_engine, Column, Integer, String, BOOLEAN from sqlalchemy.ext.declarative import declarative_base from sqlalchemy.orm import sessionmaker UserAddressID = [] ActiveUser = [] engine = create_engine('mssql+pymssql://IDV2Ridge:cWZSGWXS9muyYkHN*@10.10.10.50/IDV2Ridge',echo=False) engine.connect() Base = declarative_base() class UserAddress(Base): __tablename__ = 'UserAddress' UserId = Column(Integer, primary_key=True) AddressId = Column(Integer, primary_key=True) class Address(Base) : __tablename__ = 'Address' Id = Column(Integer, primary_key=True) ContactName = Column(String) CompanyName = Column(String) Line1 = Column(String) Line2 = Column(String) City = Column(String) State = Column(String) PostalCode = Column(String) Country = Column(String) PhoneNumber = Column(String) EmailAddress = Column(String) class User(Base): __tablename__ = 'User' ID = Column(Integer, primary_key=True) FirstName = Column(String) LastName = Column(String) IsDeleted = Column(BOOLEAN) Session = sessionmaker(bind=engine) session = Session() # Get list of active users for user in session.query(User).filter(User.ID == 1): ActiveUser.append([user.ID, user.FirstName, user.LastName]) # loop through each user in the ActiveUser array for each in ActiveUser: # Combine Users First/Last name into single variable UserName = each[1] + ' ' + each[2] print(UserName) # For each username we're filtering the UserAddress table by their userID and adding it to the UserAddressID array. # The UserAddressID array is then looped through and for each AddressID we pull the Address information for ua in session.query(UserAddress).filter(UserAddress.UserId == each[0]): UserAddressID.append(ua.AddressId) for aid in UserAddressID: for cn in session.query(Address).filter(Address.Id==aid): print(cn.ContactName, cn.CompanyName, cn.Line1, cn.Line2) UserAddressID = []